Set: pp::colors Set: pp::unicode Defined: double ¬ 0 = 1 ⊤ 9 0 = 1 3 ≤ 2 + 2 + (2 + 2) + 1 3 ≤ 2 * 2 + (2 * 2 + (2 * 2 + (2 * 2 + 1))) Assumed: a Assumed: b Assumed: c Assumed: d a * c + (a * d + (b * c + b * d)) trans (Nat::distributel a b (c + d)) (trans (congr (congr2 Nat::add (Nat::distributer a c d)) (Nat::distributer b c d)) (Nat::add_assoc (a * c) (a * d) (b * c + b * d))) Proved: congr2_congr1 Proved: congr2_congr2 Proved: congr1_congr2 ⊤ trans (congr (congr2 eq (congr1 10 (congr2 Nat::add (trans (congr2 (ite (a > 0) b) (Nat::add_zeror b)) (if_a_a (a > 0) b))))) (congr1 10 (congr2 Nat::add (if_a_a (a > 0) b)))) (eq_id (b + 10)) trans (congr (congr2 (λ x : ℕ, eq ((λ x : ℕ, x + 10) x)) (trans (congr2 (ite (a > 0) b) (Nat::add_zeror b)) (if_a_a (a > 0) b))) (congr2 (λ x : ℕ, x + 10) (if_a_a (a > 0) b))) (eq_id (b + 10)) a * a + (a * b + (b * a + b * b)) ⊤ → ⊥ refl (⊤ → ⊥) false ⊤ → ⊤ refl (⊤ → ⊤) false ⊥ → ⊤ imp_congr (refl ⊥) (λ C::1 : ⊥, eqt_intro C::1) false ⊤ ↔ ⊥ refl (⊤ ↔ ⊥) false