g 0:+1:+1 (1:+1 + 2:+1):+1 : ℕ g (f (f 0)) (f (has_add.add (f 1) (f 2))) : nat