%------------------------------------------------------------------------------ % File : Zenon---0.7.1 % Problem : ALG032+1 : TPTP v8.1.0. Released v2.7.0. % Transfm : none % Format : tptp:raw % Command : run_zenon %s %d % Computer : n028.cluster.edu % Model : x86_64 x86_64 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz % Memory : 8042.1875MB % OS : Linux 3.10.0-693.el7.x86_64 % CPULimit : 300s % WCLimit : 600s % DateTime : Thu Jul 14 18:29:02 EDT 2022 % Result : Theorem 47.33s 47.57s % Output : Proof 47.44s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.06/0.11 % Problem : ALG032+1 : TPTP v8.1.0. Released v2.7.0. % 0.06/0.12 % Command : run_zenon %s %d % 0.11/0.33 % Computer : n028.cluster.edu % 0.11/0.33 % Model : x86_64 x86_64 % 0.11/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.11/0.33 % Memory : 8042.1875MB % 0.11/0.33 % OS : Linux 3.10.0-693.el7.x86_64 % 0.11/0.33 % CPULimit : 300 % 0.11/0.33 % WCLimit : 600 % 0.11/0.33 % DateTime : Wed Jun 8 08:41:16 EDT 2022 % 0.11/0.33 % CPUTime : % 47.33/47.57 (* PROOF-FOUND *) % 47.33/47.57 % SZS status Theorem % 47.33/47.57 (* BEGIN-PROOF *) % 47.33/47.57 % SZS output start Proof % 47.33/47.57 Theorem co1 : (((op (e0) (e0)) = (op (e0) (e0)))/\(((op (e0) (e1)) = (op (e1) (e0)))/\(((op (e0) (e2)) = (op (e2) (e0)))/\(((op (e0) (e3)) = (op (e3) (e0)))/\(((op (e0) (e4)) = (op (e4) (e0)))/\(((op (e0) (e5)) = (op (e5) (e0)))/\(((op (e1) (e0)) = (op (e0) (e1)))/\(((op (e1) (e1)) = (op (e1) (e1)))/\(((op (e1) (e2)) = (op (e2) (e1)))/\(((op (e1) (e3)) = (op (e3) (e1)))/\(((op (e1) (e4)) = (op (e4) (e1)))/\(((op (e1) (e5)) = (op (e5) (e1)))/\(((op (e2) (e0)) = (op (e0) (e2)))/\(((op (e2) (e1)) = (op (e1) (e2)))/\(((op (e2) (e2)) = (op (e2) (e2)))/\(((op (e2) (e3)) = (op (e3) (e2)))/\(((op (e2) (e4)) = (op (e4) (e2)))/\(((op (e2) (e5)) = (op (e5) (e2)))/\(((op (e3) (e0)) = (op (e0) (e3)))/\(((op (e3) (e1)) = (op (e1) (e3)))/\(((op (e3) (e2)) = (op (e2) (e3)))/\(((op (e3) (e3)) = (op (e3) (e3)))/\(((op (e3) (e4)) = (op (e4) (e3)))/\(((op (e3) (e5)) = (op (e5) (e3)))/\(((op (e4) (e0)) = (op (e0) (e4)))/\(((op (e4) (e1)) = (op (e1) (e4)))/\(((op (e4) (e2)) = (op (e2) (e4)))/\(((op (e4) (e3)) = (op (e3) (e4)))/\(((op (e4) (e4)) = (op (e4) (e4)))/\(((op (e4) (e5)) = (op (e5) (e4)))/\(((op (e5) (e0)) = (op (e0) (e5)))/\(((op (e5) (e1)) = (op (e1) (e5)))/\(((op (e5) (e2)) = (op (e2) (e5)))/\(((op (e5) (e3)) = (op (e3) (e5)))/\(((op (e5) (e4)) = (op (e4) (e5)))/\(((op (e5) (e5)) = (op (e5) (e5)))/\((((op (e0) (e0)) = (e0))\/(((op (e0) (e0)) = (e1))\/(((op (e0) (e0)) = (e2))\/(((op (e0) (e0)) = (e3))\/(((op (e0) (e0)) = (e4))\/((op (e0) (e0)) = (e5)))))))/\((((op (e0) (e1)) = (e0))\/(((op (e0) (e1)) = (e1))\/(((op (e0) (e1)) = (e2))\/(((op (e0) (e1)) = (e3))\/(((op (e0) (e1)) = (e4))\/((op (e0) (e1)) = (e5)))))))/\((((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/(((op (e0) (e2)) = (e4))\/((op (e0) (e2)) = (e5)))))))/\((((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/(((op (e0) (e3)) = (e4))\/((op (e0) (e3)) = (e5)))))))/\((((op (e0) (e4)) = (e0))\/(((op (e0) (e4)) = (e1))\/(((op (e0) (e4)) = (e2))\/(((op (e0) (e4)) = (e3))\/(((op (e0) (e4)) = (e4))\/((op (e0) (e4)) = (e5)))))))/\((((op (e0) (e5)) = (e0))\/(((op (e0) (e5)) = (e1))\/(((op (e0) (e5)) = (e2))\/(((op (e0) (e5)) = (e3))\/(((op (e0) (e5)) = (e4))\/((op (e0) (e5)) = (e5)))))))/\((((op (e1) (e0)) = (e0))\/(((op (e1) (e0)) = (e1))\/(((op (e1) (e0)) = (e2))\/(((op (e1) (e0)) = (e3))\/(((op (e1) (e0)) = (e4))\/((op (e1) (e0)) = (e5)))))))/\((((op (e1) (e1)) = (e0))\/(((op (e1) (e1)) = (e1))\/(((op (e1) (e1)) = (e2))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e1)) = (e4))\/((op (e1) (e1)) = (e5)))))))/\((((op (e1) (e2)) = (e0))\/(((op (e1) (e2)) = (e1))\/(((op (e1) (e2)) = (e2))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e2)) = (e4))\/((op (e1) (e2)) = (e5)))))))/\((((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/(((op (e1) (e3)) = (e4))\/((op (e1) (e3)) = (e5)))))))/\((((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/(((op (e1) (e4)) = (e4))\/((op (e1) (e4)) = (e5)))))))/\((((op (e1) (e5)) = (e0))\/(((op (e1) (e5)) = (e1))\/(((op (e1) (e5)) = (e2))\/(((op (e1) (e5)) = (e3))\/(((op (e1) (e5)) = (e4))\/((op (e1) (e5)) = (e5)))))))/\((((op (e2) (e0)) = (e0))\/(((op (e2) (e0)) = (e1))\/(((op (e2) (e0)) = (e2))\/(((op (e2) (e0)) = (e3))\/(((op (e2) (e0)) = (e4))\/((op (e2) (e0)) = (e5)))))))/\((((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/(((op (e2) (e1)) = (e4))\/((op (e2) (e1)) = (e5)))))))/\((((op (e2) (e2)) = (e0))\/(((op (e2) (e2)) = (e1))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e2)) = (e3))\/(((op (e2) (e2)) = (e4))\/((op (e2) (e2)) = (e5)))))))/\((((op (e2) (e3)) = (e0))\/(((op (e2) (e3)) = (e1))\/(((op (e2) (e3)) = (e2))\/(((op (e2) (e3)) = (e3))\/(((op (e2) (e3)) = (e4))\/((op (e2) (e3)) = (e5)))))))/\((((op (e2) (e4)) = (e0))\/(((op (e2) (e4)) = (e1))\/(((op (e2) (e4)) = (e2))\/(((op (e2) (e4)) = (e3))\/(((op (e2) (e4)) = (e4))\/((op (e2) (e4)) = (e5)))))))/\((((op (e2) (e5)) = (e0))\/(((op (e2) (e5)) = (e1))\/(((op (e2) (e5)) = (e2))\/(((op (e2) (e5)) = (e3))\/(((op (e2) (e5)) = (e4))\/((op (e2) (e5)) = (e5)))))))/\((((op (e3) (e0)) = (e0))\/(((op (e3) (e0)) = (e1))\/(((op (e3) (e0)) = (e2))\/(((op (e3) (e0)) = (e3))\/(((op (e3) (e0)) = (e4))\/((op (e3) (e0)) = (e5)))))))/\((((op (e3) (e1)) = (e0))\/(((op (e3) (e1)) = (e1))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e1)) = (e4))\/((op (e3) (e1)) = (e5)))))))/\((((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e2)) = (e4))\/((op (e3) (e2)) = (e5)))))))/\((((op (e3) (e3)) = (e0))\/(((op (e3) (e3)) = (e1))\/(((op (e3) (e3)) = (e2))\/(((op (e3) (e3)) = (e3))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e3)) = (e5)))))))/\((((op (e3) (e4)) = (e0))\/(((op (e3) (e4)) = (e1))\/(((op (e3) (e4)) = (e2))\/(((op (e3) (e4)) = (e3))\/(((op (e3) (e4)) = (e4))\/((op (e3) (e4)) = (e5)))))))/\((((op (e3) (e5)) = (e0))\/(((op (e3) (e5)) = (e1))\/(((op (e3) (e5)) = (e2))\/(((op (e3) (e5)) = (e3))\/(((op (e3) (e5)) = (e4))\/((op (e3) (e5)) = (e5)))))))/\((((op (e4) (e0)) = (e0))\/(((op (e4) (e0)) = (e1))\/(((op (e4) (e0)) = (e2))\/(((op (e4) (e0)) = (e3))\/(((op (e4) (e0)) = (e4))\/((op (e4) (e0)) = (e5)))))))/\((((op (e4) (e1)) = (e0))\/(((op (e4) (e1)) = (e1))\/(((op (e4) (e1)) = (e2))\/(((op (e4) (e1)) = (e3))\/(((op (e4) (e1)) = (e4))\/((op (e4) (e1)) = (e5)))))))/\((((op (e4) (e2)) = (e0))\/(((op (e4) (e2)) = (e1))\/(((op (e4) (e2)) = (e2))\/(((op (e4) (e2)) = (e3))\/(((op (e4) (e2)) = (e4))\/((op (e4) (e2)) = (e5)))))))/\((((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e3)) = (e5)))))))/\((((op (e4) (e4)) = (e0))\/(((op (e4) (e4)) = (e1))\/(((op (e4) (e4)) = (e2))\/(((op (e4) (e4)) = (e3))\/(((op (e4) (e4)) = (e4))\/((op (e4) (e4)) = (e5)))))))/\((((op (e4) (e5)) = (e0))\/(((op (e4) (e5)) = (e1))\/(((op (e4) (e5)) = (e2))\/(((op (e4) (e5)) = (e3))\/(((op (e4) (e5)) = (e4))\/((op (e4) (e5)) = (e5)))))))/\((((op (e5) (e0)) = (e0))\/(((op (e5) (e0)) = (e1))\/(((op (e5) (e0)) = (e2))\/(((op (e5) (e0)) = (e3))\/(((op (e5) (e0)) = (e4))\/((op (e5) (e0)) = (e5)))))))/\((((op (e5) (e1)) = (e0))\/(((op (e5) (e1)) = (e1))\/(((op (e5) (e1)) = (e2))\/(((op (e5) (e1)) = (e3))\/(((op (e5) (e1)) = (e4))\/((op (e5) (e1)) = (e5)))))))/\((((op (e5) (e2)) = (e0))\/(((op (e5) (e2)) = (e1))\/(((op (e5) (e2)) = (e2))\/(((op (e5) (e2)) = (e3))\/(((op (e5) (e2)) = (e4))\/((op (e5) (e2)) = (e5)))))))/\((((op (e5) (e3)) = (e0))\/(((op (e5) (e3)) = (e1))\/(((op (e5) (e3)) = (e2))\/(((op (e5) (e3)) = (e3))\/(((op (e5) (e3)) = (e4))\/((op (e5) (e3)) = (e5)))))))/\((((op (e5) (e4)) = (e0))\/(((op (e5) (e4)) = (e1))\/(((op (e5) (e4)) = (e2))\/(((op (e5) (e4)) = (e3))\/(((op (e5) (e4)) = (e4))\/((op (e5) (e4)) = (e5)))))))/\((((op (e5) (e5)) = (e0))\/(((op (e5) (e5)) = (e1))\/(((op (e5) (e5)) = (e2))\/(((op (e5) (e5)) = (e3))\/(((op (e5) (e5)) = (e4))\/((op (e5) (e5)) = (e5)))))))/\(((op (op (e0) (e0)) (e0)) = (op (e0) (op (e0) (e0))))/\(((op (op (e0) (e0)) (e1)) = (op (e0) (op (e0) (e1))))/\(((op (op (e0) (e0)) (e2)) = (op (e0) (op (e0) (e2))))/\(((op (op (e0) (e0)) (e3)) = (op (e0) (op (e0) (e3))))/\(((op (op (e0) (e0)) (e4)) = (op (e0) (op (e0) (e4))))/\(((op (op (e0) (e0)) (e5)) = (op (e0) (op (e0) (e5))))/\(((op (op (e0) (e1)) (e0)) = (op (e0) (op (e1) (e0))))/\(((op (op (e0) (e1)) (e1)) = (op (e0) (op (e1) (e1))))/\(((op (op (e0) (e1)) (e2)) = (op (e0) (op (e1) (e2))))/\(((op (op (e0) (e1)) (e3)) = (op (e0) (op (e1) (e3))))/\(((op (op (e0) (e1)) (e4)) = (op (e0) (op (e1) (e4))))/\(((op (op (e0) (e1)) (e5)) = (op (e0) (op (e1) (e5))))/\(((op (op (e0) (e2)) (e0)) = (op (e0) (op (e2) (e0))))/\(((op (op (e0) (e2)) (e1)) = (op (e0) (op (e2) (e1))))/\(((op (op (e0) (e2)) (e2)) = (op (e0) (op (e2) (e2))))/\(((op (op (e0) (e2)) (e3)) = (op (e0) (op (e2) (e3))))/\(((op (op (e0) (e2)) (e4)) = (op (e0) (op (e2) (e4))))/\(((op (op (e0) (e2)) (e5)) = (op (e0) (op (e2) (e5))))/\(((op (op (e0) (e3)) (e0)) = (op (e0) (op (e3) (e0))))/\(((op (op (e0) (e3)) (e1)) = (op (e0) (op (e3) (e1))))/\(((op (op (e0) (e3)) (e2)) = (op (e0) (op (e3) (e2))))/\(((op (op (e0) (e3)) (e3)) = (op (e0) (op (e3) (e3))))/\(((op (op (e0) (e3)) (e4)) = (op (e0) (op (e3) (e4))))/\(((op (op (e0) (e3)) (e5)) = (op (e0) (op (e3) (e5))))/\(((op (op (e0) (e4)) (e0)) = (op (e0) (op (e4) (e0))))/\(((op (op (e0) (e4)) (e1)) = (op (e0) (op (e4) (e1))))/\(((op (op (e0) (e4)) (e2)) = (op (e0) (op (e4) (e2))))/\(((op (op (e0) (e4)) (e3)) = (op (e0) (op (e4) (e3))))/\(((op (op (e0) (e4)) (e4)) = (op (e0) (op (e4) (e4))))/\(((op (op (e0) (e4)) (e5)) = (op (e0) (op (e4) (e5))))/\(((op (op (e0) (e5)) (e0)) = (op (e0) (op (e5) (e0))))/\(((op (op (e0) (e5)) (e1)) = (op (e0) (op (e5) (e1))))/\(((op (op (e0) (e5)) (e2)) = (op (e0) (op (e5) (e2))))/\(((op (op (e0) (e5)) (e3)) = (op (e0) (op (e5) (e3))))/\(((op (op (e0) (e5)) (e4)) = (op (e0) (op (e5) (e4))))/\(((op (op (e0) (e5)) (e5)) = (op (e0) (op (e5) (e5))))/\(((op (op (e1) (e0)) (e0)) = (op (e1) (op (e0) (e0))))/\(((op (op (e1) (e0)) (e1)) = (op (e1) (op (e0) (e1))))/\(((op (op (e1) (e0)) (e2)) = (op (e1) (op (e0) (e2))))/\(((op (op (e1) (e0)) (e3)) = (op (e1) (op (e0) (e3))))/\(((op (op (e1) (e0)) (e4)) = (op (e1) (op (e0) (e4))))/\(((op (op (e1) (e0)) (e5)) = (op (e1) (op (e0) (e5))))/\(((op (op (e1) (e1)) (e0)) = (op (e1) (op (e1) (e0))))/\(((op (op (e1) (e1)) (e1)) = (op (e1) (op (e1) (e1))))/\(((op (op (e1) (e1)) (e2)) = (op (e1) (op (e1) (e2))))/\(((op (op (e1) (e1)) (e3)) = (op (e1) (op (e1) (e3))))/\(((op (op (e1) (e1)) (e4)) = (op (e1) (op (e1) (e4))))/\(((op (op (e1) (e1)) (e5)) = (op (e1) (op (e1) (e5))))/\(((op (op (e1) (e2)) (e0)) = (op (e1) (op (e2) (e0))))/\(((op (op (e1) (e2)) (e1)) = (op (e1) (op (e2) (e1))))/\(((op (op (e1) (e2)) (e2)) = (op (e1) (op (e2) (e2))))/\(((op (op (e1) (e2)) (e3)) = (op (e1) (op (e2) (e3))))/\(((op (op (e1) (e2)) (e4)) = (op (e1) (op (e2) (e4))))/\(((op (op (e1) (e2)) (e5)) = (op (e1) (op (e2) (e5))))/\(((op (op (e1) (e3)) (e0)) = (op (e1) (op (e3) (e0))))/\(((op (op (e1) (e3)) (e1)) = (op (e1) (op (e3) (e1))))/\(((op (op (e1) (e3)) (e2)) = (op (e1) (op (e3) (e2))))/\(((op (op (e1) (e3)) (e3)) = (op (e1) (op (e3) (e3))))/\(((op (op (e1) (e3)) (e4)) = (op (e1) (op (e3) (e4))))/\(((op (op (e1) (e3)) (e5)) = (op (e1) (op (e3) (e5))))/\(((op (op (e1) (e4)) (e0)) = (op (e1) (op (e4) (e0))))/\(((op (op (e1) (e4)) (e1)) = (op (e1) (op (e4) (e1))))/\(((op (op (e1) (e4)) (e2)) = (op (e1) (op (e4) (e2))))/\(((op (op (e1) (e4)) (e3)) = (op (e1) (op (e4) (e3))))/\(((op (op (e1) (e4)) (e4)) = (op (e1) (op (e4) (e4))))/\(((op (op (e1) (e4)) (e5)) = (op (e1) (op (e4) (e5))))/\(((op (op (e1) (e5)) (e0)) = (op (e1) (op (e5) (e0))))/\(((op (op (e1) (e5)) (e1)) = (op (e1) (op (e5) (e1))))/\(((op (op (e1) (e5)) (e2)) = (op (e1) (op (e5) (e2))))/\(((op (op (e1) (e5)) (e3)) = (op (e1) (op (e5) (e3))))/\(((op (op (e1) (e5)) (e4)) = (op (e1) (op (e5) (e4))))/\(((op (op (e1) (e5)) (e5)) = (op (e1) (op (e5) (e5))))/\(((op (op (e2) (e0)) (e0)) = (op (e2) (op (e0) (e0))))/\(((op (op (e2) (e0)) (e1)) = (op (e2) (op (e0) (e1))))/\(((op (op (e2) (e0)) (e2)) = (op (e2) (op (e0) (e2))))/\(((op (op (e2) (e0)) (e3)) = (op (e2) (op (e0) (e3))))/\(((op (op (e2) (e0)) (e4)) = (op (e2) (op (e0) (e4))))/\(((op (op (e2) (e0)) (e5)) = (op (e2) (op (e0) (e5))))/\(((op (op (e2) (e1)) (e0)) = (op (e2) (op (e1) (e0))))/\(((op (op (e2) (e1)) (e1)) = (op (e2) (op (e1) (e1))))/\(((op (op (e2) (e1)) (e2)) = (op (e2) (op (e1) (e2))))/\(((op (op (e2) (e1)) (e3)) = (op (e2) (op (e1) (e3))))/\(((op (op (e2) (e1)) (e4)) = (op (e2) (op (e1) (e4))))/\(((op (op (e2) (e1)) (e5)) = (op (e2) (op (e1) (e5))))/\(((op (op (e2) (e2)) (e0)) = (op (e2) (op (e2) (e0))))/\(((op (op (e2) (e2)) (e1)) = (op (e2) (op (e2) (e1))))/\(((op (op (e2) (e2)) (e2)) = (op (e2) (op (e2) (e2))))/\(((op (op (e2) (e2)) (e3)) = (op (e2) (op (e2) (e3))))/\(((op (op (e2) (e2)) (e4)) = (op (e2) (op (e2) (e4))))/\(((op (op (e2) (e2)) (e5)) = (op (e2) (op (e2) (e5))))/\(((op (op (e2) (e3)) (e0)) = (op (e2) (op (e3) (e0))))/\(((op (op (e2) (e3)) (e1)) = (op (e2) (op (e3) (e1))))/\(((op (op (e2) (e3)) (e2)) = (op (e2) (op (e3) (e2))))/\(((op (op (e2) (e3)) (e3)) = (op (e2) (op (e3) (e3))))/\(((op (op (e2) (e3)) (e4)) = (op (e2) (op (e3) (e4))))/\(((op (op (e2) (e3)) (e5)) = (op (e2) (op (e3) (e5))))/\(((op (op (e2) (e4)) (e0)) = (op (e2) (op (e4) (e0))))/\(((op (op (e2) (e4)) (e1)) = (op (e2) (op (e4) (e1))))/\(((op (op (e2) (e4)) (e2)) = (op (e2) (op (e4) (e2))))/\(((op (op (e2) (e4)) (e3)) = (op (e2) (op (e4) (e3))))/\(((op (op (e2) (e4)) (e4)) = (op (e2) (op (e4) (e4))))/\(((op (op (e2) (e4)) (e5)) = (op (e2) (op (e4) (e5))))/\(((op (op (e2) (e5)) (e0)) = (op (e2) (op (e5) (e0))))/\(((op (op (e2) (e5)) (e1)) = (op (e2) (op (e5) (e1))))/\(((op (op (e2) (e5)) (e2)) = (op (e2) (op (e5) (e2))))/\(((op (op (e2) (e5)) (e3)) = (op (e2) (op (e5) (e3))))/\(((op (op (e2) (e5)) (e4)) = (op (e2) (op (e5) (e4))))/\(((op (op (e2) (e5)) (e5)) = (op (e2) (op (e5) (e5))))/\(((op (op (e3) (e0)) (e0)) = (op (e3) (op (e0) (e0))))/\(((op (op (e3) (e0)) (e1)) = (op (e3) (op (e0) (e1))))/\(((op (op (e3) (e0)) (e2)) = (op (e3) (op (e0) (e2))))/\(((op (op (e3) (e0)) (e3)) = (op (e3) (op (e0) (e3))))/\(((op (op (e3) (e0)) (e4)) = (op (e3) (op (e0) (e4))))/\(((op (op (e3) (e0)) (e5)) = (op (e3) (op (e0) (e5))))/\(((op (op (e3) (e1)) (e0)) = (op (e3) (op (e1) (e0))))/\(((op (op (e3) (e1)) (e1)) = (op (e3) (op (e1) (e1))))/\(((op (op (e3) (e1)) (e2)) = (op (e3) (op (e1) (e2))))/\(((op (op (e3) (e1)) (e3)) = (op (e3) (op (e1) (e3))))/\(((op (op (e3) (e1)) (e4)) = (op (e3) (op (e1) (e4))))/\(((op (op (e3) (e1)) (e5)) = (op (e3) (op (e1) (e5))))/\(((op (op (e3) (e2)) (e0)) = (op (e3) (op (e2) (e0))))/\(((op (op (e3) (e2)) (e1)) = (op (e3) (op (e2) (e1))))/\(((op (op (e3) (e2)) (e2)) = (op (e3) (op (e2) (e2))))/\(((op (op (e3) (e2)) (e3)) = (op (e3) (op (e2) (e3))))/\(((op (op (e3) (e2)) (e4)) = (op (e3) (op (e2) (e4))))/\(((op (op (e3) (e2)) (e5)) = (op (e3) (op (e2) (e5))))/\(((op (op (e3) (e3)) (e0)) = (op (e3) (op (e3) (e0))))/\(((op (op (e3) (e3)) (e1)) = (op (e3) (op (e3) (e1))))/\(((op (op (e3) (e3)) (e2)) = (op (e3) (op (e3) (e2))))/\(((op (op (e3) (e3)) (e3)) = (op (e3) (op (e3) (e3))))/\(((op (op (e3) (e3)) (e4)) = (op (e3) (op (e3) (e4))))/\(((op (op (e3) (e3)) (e5)) = (op (e3) (op (e3) (e5))))/\(((op (op (e3) (e4)) (e0)) = (op (e3) (op (e4) (e0))))/\(((op (op (e3) (e4)) (e1)) = (op (e3) (op (e4) (e1))))/\(((op (op (e3) (e4)) (e2)) = (op (e3) (op (e4) (e2))))/\(((op (op (e3) (e4)) (e3)) = (op (e3) (op (e4) (e3))))/\(((op (op (e3) (e4)) (e4)) = (op (e3) (op (e4) (e4))))/\(((op (op (e3) (e4)) (e5)) = (op (e3) (op (e4) (e5))))/\(((op (op (e3) (e5)) (e0)) = (op (e3) (op (e5) (e0))))/\(((op (op (e3) (e5)) (e1)) = (op (e3) (op (e5) (e1))))/\(((op (op (e3) (e5)) (e2)) = (op (e3) (op (e5) (e2))))/\(((op (op (e3) (e5)) (e3)) = (op (e3) (op (e5) (e3))))/\(((op (op (e3) (e5)) (e4)) = (op (e3) (op (e5) (e4))))/\(((op (op (e3) (e5)) (e5)) = (op (e3) (op (e5) (e5))))/\(((op (op (e4) (e0)) (e0)) = (op (e4) (op (e0) (e0))))/\(((op (op (e4) (e0)) (e1)) = (op (e4) (op (e0) (e1))))/\(((op (op (e4) (e0)) (e2)) = (op (e4) (op (e0) (e2))))/\(((op (op (e4) (e0)) (e3)) = (op (e4) (op (e0) (e3))))/\(((op (op (e4) (e0)) (e4)) = (op (e4) (op (e0) (e4))))/\(((op (op (e4) (e0)) (e5)) = (op (e4) (op (e0) (e5))))/\(((op (op (e4) (e1)) (e0)) = (op (e4) (op (e1) (e0))))/\(((op (op (e4) (e1)) (e1)) = (op (e4) (op (e1) (e1))))/\(((op (op (e4) (e1)) (e2)) = (op (e4) (op (e1) (e2))))/\(((op (op (e4) (e1)) (e3)) = (op (e4) (op (e1) (e3))))/\(((op (op (e4) (e1)) (e4)) = (op (e4) (op (e1) (e4))))/\(((op (op (e4) (e1)) (e5)) = (op (e4) (op (e1) (e5))))/\(((op (op (e4) (e2)) (e0)) = (op (e4) (op (e2) (e0))))/\(((op (op (e4) (e2)) (e1)) = (op (e4) (op (e2) (e1))))/\(((op (op (e4) (e2)) (e2)) = (op (e4) (op (e2) (e2))))/\(((op (op (e4) (e2)) (e3)) = (op (e4) (op (e2) (e3))))/\(((op (op (e4) (e2)) (e4)) = (op (e4) (op (e2) (e4))))/\(((op (op (e4) (e2)) (e5)) = (op (e4) (op (e2) (e5))))/\(((op (op (e4) (e3)) (e0)) = (op (e4) (op (e3) (e0))))/\(((op (op (e4) (e3)) (e1)) = (op (e4) (op (e3) (e1))))/\(((op (op (e4) (e3)) (e2)) = (op (e4) (op (e3) (e2))))/\(((op (op (e4) (e3)) (e3)) = (op (e4) (op (e3) (e3))))/\(((op (op (e4) (e3)) (e4)) = (op (e4) (op (e3) (e4))))/\(((op (op (e4) (e3)) (e5)) = (op (e4) (op (e3) (e5))))/\(((op (op (e4) (e4)) (e0)) = (op (e4) (op (e4) (e0))))/\(((op (op (e4) (e4)) (e1)) = (op (e4) (op (e4) (e1))))/\(((op (op (e4) (e4)) (e2)) = (op (e4) (op (e4) (e2))))/\(((op (op (e4) (e4)) (e3)) = (op (e4) (op (e4) (e3))))/\(((op (op (e4) (e4)) (e4)) = (op (e4) (op (e4) (e4))))/\(((op (op (e4) (e4)) (e5)) = (op (e4) (op (e4) (e5))))/\(((op (op (e4) (e5)) (e0)) = (op (e4) (op (e5) (e0))))/\(((op (op (e4) (e5)) (e1)) = (op (e4) (op (e5) (e1))))/\(((op (op (e4) (e5)) (e2)) = (op (e4) (op (e5) (e2))))/\(((op (op (e4) (e5)) (e3)) = (op (e4) (op (e5) (e3))))/\(((op (op (e4) (e5)) (e4)) = (op (e4) (op (e5) (e4))))/\(((op (op (e4) (e5)) (e5)) = (op (e4) (op (e5) (e5))))/\(((op (op (e5) (e0)) (e0)) = (op (e5) (op (e0) (e0))))/\(((op (op (e5) (e0)) (e1)) = (op (e5) (op (e0) (e1))))/\(((op (op (e5) (e0)) (e2)) = (op (e5) (op (e0) (e2))))/\(((op (op (e5) (e0)) (e3)) = (op (e5) (op (e0) (e3))))/\(((op (op (e5) (e0)) (e4)) = (op (e5) (op (e0) (e4))))/\(((op (op (e5) (e0)) (e5)) = (op (e5) (op (e0) (e5))))/\(((op (op (e5) (e1)) (e0)) = (op (e5) (op (e1) (e0))))/\(((op (op (e5) (e1)) (e1)) = (op (e5) (op (e1) (e1))))/\(((op (op (e5) (e1)) (e2)) = (op (e5) (op (e1) (e2))))/\(((op (op (e5) (e1)) (e3)) = (op (e5) (op (e1) (e3))))/\(((op (op (e5) (e1)) (e4)) = (op (e5) (op (e1) (e4))))/\(((op (op (e5) (e1)) (e5)) = (op (e5) (op (e1) (e5))))/\(((op (op (e5) (e2)) (e0)) = (op (e5) (op (e2) (e0))))/\(((op (op (e5) (e2)) (e1)) = (op (e5) (op (e2) (e1))))/\(((op (op (e5) (e2)) (e2)) = (op (e5) (op (e2) (e2))))/\(((op (op (e5) (e2)) (e3)) = (op (e5) (op (e2) (e3))))/\(((op (op (e5) (e2)) (e4)) = (op (e5) (op (e2) (e4))))/\(((op (op (e5) (e2)) (e5)) = (op (e5) (op (e2) (e5))))/\(((op (op (e5) (e3)) (e0)) = (op (e5) (op (e3) (e0))))/\(((op (op (e5) (e3)) (e1)) = (op (e5) (op (e3) (e1))))/\(((op (op (e5) (e3)) (e2)) = (op (e5) (op (e3) (e2))))/\(((op (op (e5) (e3)) (e3)) = (op (e5) (op (e3) (e3))))/\(((op (op (e5) (e3)) (e4)) = (op (e5) (op (e3) (e4))))/\(((op (op (e5) (e3)) (e5)) = (op (e5) (op (e3) (e5))))/\(((op (op (e5) (e4)) (e0)) = (op (e5) (op (e4) (e0))))/\(((op (op (e5) (e4)) (e1)) = (op (e5) (op (e4) (e1))))/\(((op (op (e5) (e4)) (e2)) = (op (e5) (op (e4) (e2))))/\(((op (op (e5) (e4)) (e3)) = (op (e5) (op (e4) (e3))))/\(((op (op (e5) (e4)) (e4)) = (op (e5) (op (e4) (e4))))/\(((op (op (e5) (e4)) (e5)) = (op (e5) (op (e4) (e5))))/\(((op (op (e5) (e5)) (e0)) = (op (e5) (op (e5) (e0))))/\(((op (op (e5) (e5)) (e1)) = (op (e5) (op (e5) (e1))))/\(((op (op (e5) (e5)) (e2)) = (op (e5) (op (e5) (e2))))/\(((op (op (e5) (e5)) (e3)) = (op (e5) (op (e5) (e3))))/\(((op (op (e5) (e5)) (e4)) = (op (e5) (op (e5) (e4))))/\(((op (op (e5) (e5)) (e5)) = (op (e5) (op (e5) (e5))))/\(((op (unit) (e0)) = (e0))/\(((op (e0) (unit)) = (e0))/\(((op (unit) (e1)) = (e1))/\(((op (e1) (unit)) = (e1))/\(((op (unit) (e2)) = (e2))/\(((op (e2) (unit)) = (e2))/\(((op (unit) (e3)) = (e3))/\(((op (e3) (unit)) = (e3))/\(((op (unit) (e4)) = (e4))/\(((op (e4) (unit)) = (e4))/\(((op (unit) (e5)) = (e5))/\(((op (e5) (unit)) = (e5))/\((((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/(((unit) = (e4))\/((unit) = (e5)))))))/\(((op (e0) (inv (e0))) = (unit))/\(((op (inv (e0)) (e0)) = (unit))/\(((op (e1) (inv (e1))) = (unit))/\(((op (inv (e1)) (e1)) = (unit))/\(((op (e2) (inv (e2))) = (unit))/\(((op (inv (e2)) (e2)) = (unit))/\(((op (e3) (inv (e3))) = (unit))/\(((op (inv (e3)) (e3)) = (unit))/\(((op (e4) (inv (e4))) = (unit))/\(((op (inv (e4)) (e4)) = (unit))/\(((op (e5) (inv (e5))) = (unit))/\(((op (inv (e5)) (e5)) = (unit))/\((((inv (e0)) = (e0))\/(((inv (e0)) = (e1))\/(((inv (e0)) = (e2))\/(((inv (e0)) = (e3))\/(((inv (e0)) = (e4))\/((inv (e0)) = (e5)))))))/\((((inv (e1)) = (e0))\/(((inv (e1)) = (e1))\/(((inv (e1)) = (e2))\/(((inv (e1)) = (e3))\/(((inv (e1)) = (e4))\/((inv (e1)) = (e5)))))))/\((((inv (e2)) = (e0))\/(((inv (e2)) = (e1))\/(((inv (e2)) = (e2))\/(((inv (e2)) = (e3))\/(((inv (e2)) = (e4))\/((inv (e2)) = (e5)))))))/\((((inv (e3)) = (e0))\/(((inv (e3)) = (e1))\/(((inv (e3)) = (e2))\/(((inv (e3)) = (e3))\/(((inv (e3)) = (e4))\/((inv (e3)) = (e5)))))))/\((((inv (e4)) = (e0))\/(((inv (e4)) = (e1))\/(((inv (e4)) = (e2))\/(((inv (e4)) = (e3))\/(((inv (e4)) = (e4))\/((inv (e4)) = (e5)))))))/\(((inv (e5)) = (e0))\/(((inv (e5)) = (e1))\/(((inv (e5)) = (e2))\/(((inv (e5)) = (e3))\/(((inv (e5)) = (e4))\/((inv (e5)) = (e5))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))). % 47.33/47.57 Proof. % 47.33/47.57 assert (zenon_L1_ : (~((e0) = (e0))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H5. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L1_ *) % 47.33/47.57 assert (zenon_L2_ : (~((e1) = (e1))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H6. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L2_ *) % 47.33/47.57 assert (zenon_L3_ : ((op (e0) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((e1) = (op (e0) (op (e1) (e0))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H7 zenon_H8 zenon_H9. % 47.33/47.57 elim (classic ((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [ zenon_intro zenon_Ha | zenon_intro zenon_Hb ]. % 47.33/47.57 cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0)))) = ((e1) = (op (e0) (op (e1) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H9. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Ha. % 47.33/47.57 cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hb]. % 47.33/47.57 cut (((op (e0) (op (e1) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e1) (e0))) = (e1))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hc. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H7. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 cut (((op (e0) (e1)) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hd]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [ zenon_intro zenon_Ha | zenon_intro zenon_Hb ]. % 47.33/47.57 cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0)))) = ((op (e0) (e1)) = (op (e0) (op (e1) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hd. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Ha. % 47.33/47.57 cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hb]. % 47.33/47.57 cut (((op (e0) (op (e1) (e0))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_He]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_Hf zenon_H8). % 47.33/47.57 apply zenon_Hb. apply refl_equal. % 47.33/47.57 apply zenon_Hb. apply refl_equal. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 apply zenon_Hb. apply refl_equal. % 47.33/47.57 apply zenon_Hb. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L3_ *) % 47.33/47.57 assert (zenon_L4_ : ((op (e0) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (~((e0) = (op (e0) (op (e1) (e1))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H10 zenon_H11 zenon_H12. % 47.33/47.57 elim (classic ((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [ zenon_intro zenon_H13 | zenon_intro zenon_H14 ]. % 47.33/47.57 cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1)))) = ((e0) = (op (e0) (op (e1) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H12. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H13. % 47.33/47.57 cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 47.33/47.57 cut (((op (e0) (op (e1) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H15]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e1) (e1))) = (e0))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H15. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H10. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 cut (((op (e0) (e0)) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H16]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [ zenon_intro zenon_H13 | zenon_intro zenon_H14 ]. % 47.33/47.57 cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1)))) = ((op (e0) (e0)) = (op (e0) (op (e1) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H16. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H13. % 47.33/47.57 cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 47.33/47.57 cut (((op (e0) (op (e1) (e1))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H17]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H18 zenon_H11). % 47.33/47.57 apply zenon_H14. apply refl_equal. % 47.33/47.57 apply zenon_H14. apply refl_equal. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 apply zenon_H14. apply refl_equal. % 47.33/47.57 apply zenon_H14. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L4_ *) % 47.33/47.57 assert (zenon_L5_ : (~((e2) = (e2))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H19. % 47.33/47.57 apply zenon_H19. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L5_ *) % 47.33/47.57 assert (zenon_L6_ : (~((e4) = (e4))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H1a. % 47.33/47.57 apply zenon_H1a. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L6_ *) % 47.33/47.57 assert (zenon_L7_ : ((op (e0) (e4)) = (e4)) -> ((op (e1) (e2)) = (e4)) -> (~((e4) = (op (e0) (op (e1) (e2))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H1b zenon_H1c zenon_H1d. % 47.33/47.57 elim (classic ((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [ zenon_intro zenon_H1e | zenon_intro zenon_H1f ]. % 47.33/47.57 cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2)))) = ((e4) = (op (e0) (op (e1) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H1d. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H1e. % 47.33/47.57 cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1f]. % 47.33/47.57 cut (((op (e0) (op (e1) (e2))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H20]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e4)) = (e4)) = ((op (e0) (op (e1) (e2))) = (e4))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H20. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H1b. % 47.33/47.57 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.33/47.57 cut (((op (e0) (e4)) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H21]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [ zenon_intro zenon_H1e | zenon_intro zenon_H1f ]. % 47.33/47.57 cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2)))) = ((op (e0) (e4)) = (op (e0) (op (e1) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H21. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H1e. % 47.33/47.57 cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1f]. % 47.33/47.57 cut (((op (e0) (op (e1) (e2))) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H22]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H23 zenon_H1c). % 47.33/47.57 apply zenon_H1f. apply refl_equal. % 47.33/47.57 apply zenon_H1f. apply refl_equal. % 47.33/47.57 apply zenon_H1a. apply refl_equal. % 47.33/47.57 apply zenon_H1f. apply refl_equal. % 47.33/47.57 apply zenon_H1f. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L7_ *) % 47.33/47.57 assert (zenon_L8_ : (~((e3) = (e3))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H24. % 47.33/47.57 apply zenon_H24. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L8_ *) % 47.33/47.57 assert (zenon_L9_ : (~((e5) = (e5))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H25. % 47.33/47.57 apply zenon_H25. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L9_ *) % 47.33/47.57 assert (zenon_L10_ : ((op (e0) (e5)) = (e5)) -> ((op (e1) (e3)) = (e5)) -> (~((e5) = (op (e0) (op (e1) (e3))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H26 zenon_H27 zenon_H28. % 47.33/47.57 elim (classic ((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [ zenon_intro zenon_H29 | zenon_intro zenon_H2a ]. % 47.33/47.57 cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3)))) = ((e5) = (op (e0) (op (e1) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H28. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H29. % 47.33/47.57 cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2a]. % 47.33/47.57 cut (((op (e0) (op (e1) (e3))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2b]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e5)) = (e5)) = ((op (e0) (op (e1) (e3))) = (e5))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H2b. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H26. % 47.33/47.57 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.33/47.57 cut (((op (e0) (e5)) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [ zenon_intro zenon_H29 | zenon_intro zenon_H2a ]. % 47.33/47.57 cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3)))) = ((op (e0) (e5)) = (op (e0) (op (e1) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H2c. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H29. % 47.33/47.57 cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2a]. % 47.33/47.57 cut (((op (e0) (op (e1) (e3))) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H2e zenon_H27). % 47.33/47.57 apply zenon_H2a. apply refl_equal. % 47.33/47.57 apply zenon_H2a. apply refl_equal. % 47.33/47.57 apply zenon_H25. apply refl_equal. % 47.33/47.57 apply zenon_H2a. apply refl_equal. % 47.33/47.57 apply zenon_H2a. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L10_ *) % 47.33/47.57 assert (zenon_L11_ : ((op (e0) (e2)) = (e2)) -> ((op (e1) (e4)) = (e2)) -> (~((e2) = (op (e0) (op (e1) (e4))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H2f zenon_H30 zenon_H31. % 47.33/47.57 elim (classic ((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4))))); [ zenon_intro zenon_H32 | zenon_intro zenon_H33 ]. % 47.33/47.57 cut (((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4)))) = ((e2) = (op (e0) (op (e1) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H31. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H32. % 47.33/47.57 cut (((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 47.33/47.57 cut (((op (e0) (op (e1) (e4))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e1) (e4))) = (e2))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H34. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H2f. % 47.33/47.57 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.57 cut (((op (e0) (e2)) = (op (e0) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H35]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4))))); [ zenon_intro zenon_H32 | zenon_intro zenon_H33 ]. % 47.33/47.57 cut (((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4)))) = ((op (e0) (e2)) = (op (e0) (op (e1) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H35. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H32. % 47.33/47.57 cut (((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 47.33/47.57 cut (((op (e0) (op (e1) (e4))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H37 zenon_H30). % 47.33/47.57 apply zenon_H33. apply refl_equal. % 47.33/47.57 apply zenon_H33. apply refl_equal. % 47.33/47.57 apply zenon_H19. apply refl_equal. % 47.33/47.57 apply zenon_H33. apply refl_equal. % 47.33/47.57 apply zenon_H33. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L11_ *) % 47.33/47.57 assert (zenon_L12_ : ((op (e0) (e3)) = (e3)) -> ((op (e1) (e5)) = (e3)) -> (~((e3) = (op (e0) (op (e1) (e5))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H38 zenon_H39 zenon_H3a. % 47.33/47.57 elim (classic ((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5))))); [ zenon_intro zenon_H3b | zenon_intro zenon_H3c ]. % 47.33/47.57 cut (((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5)))) = ((e3) = (op (e0) (op (e1) (e5))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H3a. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H3b. % 47.33/47.57 cut (((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 47.33/47.57 cut (((op (e0) (op (e1) (e5))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H3d]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e1) (e5))) = (e3))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H3d. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H38. % 47.33/47.57 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.33/47.57 cut (((op (e0) (e3)) = (op (e0) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3e]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5))))); [ zenon_intro zenon_H3b | zenon_intro zenon_H3c ]. % 47.33/47.57 cut (((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5)))) = ((op (e0) (e3)) = (op (e0) (op (e1) (e5))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H3e. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H3b. % 47.33/47.57 cut (((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 47.33/47.57 cut (((op (e0) (op (e1) (e5))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H3f]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H40 zenon_H39). % 47.33/47.57 apply zenon_H3c. apply refl_equal. % 47.33/47.57 apply zenon_H3c. apply refl_equal. % 47.33/47.57 apply zenon_H24. apply refl_equal. % 47.33/47.57 apply zenon_H3c. apply refl_equal. % 47.33/47.57 apply zenon_H3c. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L12_ *) % 47.33/47.57 assert (zenon_L13_ : ((op (e0) (e2)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((e2) = (op (e0) (op (e2) (e0))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H2f zenon_H41 zenon_H42. % 47.33/47.57 elim (classic ((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [ zenon_intro zenon_H43 | zenon_intro zenon_H44 ]. % 47.33/47.57 cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0)))) = ((e2) = (op (e0) (op (e2) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H42. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H43. % 47.33/47.57 cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 47.33/47.57 cut (((op (e0) (op (e2) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H45]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e2) (e0))) = (e2))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H45. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H2f. % 47.33/47.57 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.57 cut (((op (e0) (e2)) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H46]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [ zenon_intro zenon_H43 | zenon_intro zenon_H44 ]. % 47.33/47.57 cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0)))) = ((op (e0) (e2)) = (op (e0) (op (e2) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H46. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H43. % 47.33/47.57 cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 47.33/47.57 cut (((op (e0) (op (e2) (e0))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H47]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H48 zenon_H41). % 47.33/47.57 apply zenon_H44. apply refl_equal. % 47.33/47.57 apply zenon_H44. apply refl_equal. % 47.33/47.57 apply zenon_H19. apply refl_equal. % 47.33/47.57 apply zenon_H44. apply refl_equal. % 47.33/47.57 apply zenon_H44. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L13_ *) % 47.33/47.57 assert (zenon_L14_ : ((op (e0) (e4)) = (e4)) -> ((op (e2) (e1)) = (e4)) -> (~((e4) = (op (e0) (op (e2) (e1))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H1b zenon_H49 zenon_H4a. % 47.33/47.57 elim (classic ((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [ zenon_intro zenon_H4b | zenon_intro zenon_H4c ]. % 47.33/47.57 cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1)))) = ((e4) = (op (e0) (op (e2) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H4a. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H4b. % 47.33/47.57 cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 47.33/47.57 cut (((op (e0) (op (e2) (e1))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H4d]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e4)) = (e4)) = ((op (e0) (op (e2) (e1))) = (e4))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H4d. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H1b. % 47.33/47.57 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.33/47.57 cut (((op (e0) (e4)) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H4e]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [ zenon_intro zenon_H4b | zenon_intro zenon_H4c ]. % 47.33/47.57 cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1)))) = ((op (e0) (e4)) = (op (e0) (op (e2) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H4e. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H4b. % 47.33/47.57 cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 47.33/47.57 cut (((op (e0) (op (e2) (e1))) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H4f]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H50 zenon_H49). % 47.33/47.57 apply zenon_H4c. apply refl_equal. % 47.33/47.57 apply zenon_H4c. apply refl_equal. % 47.33/47.57 apply zenon_H1a. apply refl_equal. % 47.33/47.57 apply zenon_H4c. apply refl_equal. % 47.33/47.57 apply zenon_H4c. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L14_ *) % 47.33/47.57 assert (zenon_L15_ : ((op (e0) (e3)) = (e3)) -> ((op (e2) (e2)) = (e3)) -> (~((e3) = (op (e0) (op (e2) (e2))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H38 zenon_H51 zenon_H52. % 47.33/47.57 elim (classic ((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [ zenon_intro zenon_H53 | zenon_intro zenon_H54 ]. % 47.33/47.57 cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2)))) = ((e3) = (op (e0) (op (e2) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H52. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H53. % 47.33/47.57 cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 47.33/47.57 cut (((op (e0) (op (e2) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e2) (e2))) = (e3))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H55. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H38. % 47.33/47.57 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.33/47.57 cut (((op (e0) (e3)) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [ zenon_intro zenon_H53 | zenon_intro zenon_H54 ]. % 47.33/47.57 cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2)))) = ((op (e0) (e3)) = (op (e0) (op (e2) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H56. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H53. % 47.33/47.57 cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 47.33/47.57 cut (((op (e0) (op (e2) (e2))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H58 zenon_H51). % 47.33/47.57 apply zenon_H54. apply refl_equal. % 47.33/47.57 apply zenon_H54. apply refl_equal. % 47.33/47.57 apply zenon_H24. apply refl_equal. % 47.33/47.57 apply zenon_H54. apply refl_equal. % 47.33/47.57 apply zenon_H54. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L15_ *) % 47.33/47.57 assert (zenon_L16_ : ((op (e0) (e0)) = (e0)) -> ((op (e2) (e3)) = (e0)) -> (~((e0) = (op (e0) (op (e2) (e3))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H10 zenon_H59 zenon_H5a. % 47.33/47.57 elim (classic ((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [ zenon_intro zenon_H5b | zenon_intro zenon_H5c ]. % 47.33/47.57 cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3)))) = ((e0) = (op (e0) (op (e2) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H5a. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H5b. % 47.33/47.57 cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H5c]. % 47.33/47.57 cut (((op (e0) (op (e2) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e2) (e3))) = (e0))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H5d. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H10. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 cut (((op (e0) (e0)) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [ zenon_intro zenon_H5b | zenon_intro zenon_H5c ]. % 47.33/47.57 cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3)))) = ((op (e0) (e0)) = (op (e0) (op (e2) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H5e. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H5b. % 47.33/47.57 cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H5c]. % 47.33/47.57 cut (((op (e0) (op (e2) (e3))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5f]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H60 zenon_H59). % 47.33/47.57 apply zenon_H5c. apply refl_equal. % 47.33/47.57 apply zenon_H5c. apply refl_equal. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 apply zenon_H5c. apply refl_equal. % 47.33/47.57 apply zenon_H5c. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L16_ *) % 47.33/47.57 assert (zenon_L17_ : ((op (e0) (e5)) = (e5)) -> ((op (e2) (e4)) = (e5)) -> (~((e5) = (op (e0) (op (e2) (e4))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H26 zenon_H61 zenon_H62. % 47.33/47.57 elim (classic ((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4))))); [ zenon_intro zenon_H63 | zenon_intro zenon_H64 ]. % 47.33/47.57 cut (((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4)))) = ((e5) = (op (e0) (op (e2) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H62. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H63. % 47.33/47.57 cut (((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 47.33/47.57 cut (((op (e0) (op (e2) (e4))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e5)) = (e5)) = ((op (e0) (op (e2) (e4))) = (e5))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H65. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H26. % 47.33/47.57 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.33/47.57 cut (((op (e0) (e5)) = (op (e0) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H66]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4))))); [ zenon_intro zenon_H63 | zenon_intro zenon_H64 ]. % 47.33/47.57 cut (((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4)))) = ((op (e0) (e5)) = (op (e0) (op (e2) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H66. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H63. % 47.33/47.57 cut (((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 47.33/47.57 cut (((op (e0) (op (e2) (e4))) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H67]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H68 zenon_H61). % 47.33/47.57 apply zenon_H64. apply refl_equal. % 47.33/47.57 apply zenon_H64. apply refl_equal. % 47.33/47.57 apply zenon_H25. apply refl_equal. % 47.33/47.57 apply zenon_H64. apply refl_equal. % 47.33/47.57 apply zenon_H64. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L17_ *) % 47.33/47.57 assert (zenon_L18_ : ((op (e0) (e1)) = (e1)) -> ((op (e2) (e5)) = (e1)) -> (~((e1) = (op (e0) (op (e2) (e5))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H7 zenon_H69 zenon_H6a. % 47.33/47.57 elim (classic ((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5))))); [ zenon_intro zenon_H6b | zenon_intro zenon_H6c ]. % 47.33/47.57 cut (((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5)))) = ((e1) = (op (e0) (op (e2) (e5))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H6a. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H6b. % 47.33/47.57 cut (((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 47.33/47.57 cut (((op (e0) (op (e2) (e5))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6d]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e2) (e5))) = (e1))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H6d. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H7. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 cut (((op (e0) (e1)) = (op (e0) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6e]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5))))); [ zenon_intro zenon_H6b | zenon_intro zenon_H6c ]. % 47.33/47.57 cut (((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5)))) = ((op (e0) (e1)) = (op (e0) (op (e2) (e5))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H6e. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H6b. % 47.33/47.57 cut (((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 47.33/47.57 cut (((op (e0) (op (e2) (e5))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6f]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H70 zenon_H69). % 47.33/47.57 apply zenon_H6c. apply refl_equal. % 47.33/47.57 apply zenon_H6c. apply refl_equal. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 apply zenon_H6c. apply refl_equal. % 47.33/47.57 apply zenon_H6c. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L18_ *) % 47.33/47.57 assert (zenon_L19_ : ((op (e0) (e3)) = (e3)) -> ((op (e3) (e0)) = (e3)) -> (~((e3) = (op (e0) (op (e3) (e0))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H38 zenon_H71 zenon_H72. % 47.33/47.57 elim (classic ((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [ zenon_intro zenon_H73 | zenon_intro zenon_H74 ]. % 47.33/47.57 cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0)))) = ((e3) = (op (e0) (op (e3) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H72. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H73. % 47.33/47.57 cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H74]. % 47.33/47.57 cut (((op (e0) (op (e3) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H75]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e3) (e0))) = (e3))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H75. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H38. % 47.33/47.57 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.33/47.57 cut (((op (e0) (e3)) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H76]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [ zenon_intro zenon_H73 | zenon_intro zenon_H74 ]. % 47.33/47.57 cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0)))) = ((op (e0) (e3)) = (op (e0) (op (e3) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H76. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H73. % 47.33/47.57 cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H74]. % 47.33/47.57 cut (((op (e0) (op (e3) (e0))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H77]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H78 zenon_H71). % 47.33/47.57 apply zenon_H74. apply refl_equal. % 47.33/47.57 apply zenon_H74. apply refl_equal. % 47.33/47.57 apply zenon_H24. apply refl_equal. % 47.33/47.57 apply zenon_H74. apply refl_equal. % 47.33/47.57 apply zenon_H74. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L19_ *) % 47.33/47.57 assert (zenon_L20_ : ((op (e0) (e5)) = (e5)) -> ((op (e3) (e1)) = (e5)) -> (~((e5) = (op (e0) (op (e3) (e1))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H26 zenon_H79 zenon_H7a. % 47.33/47.57 elim (classic ((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [ zenon_intro zenon_H7b | zenon_intro zenon_H7c ]. % 47.33/47.57 cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1)))) = ((e5) = (op (e0) (op (e3) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H7a. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H7b. % 47.33/47.57 cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7c]. % 47.33/47.57 cut (((op (e0) (op (e3) (e1))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H7d]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e5)) = (e5)) = ((op (e0) (op (e3) (e1))) = (e5))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H7d. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H26. % 47.33/47.57 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.33/47.57 cut (((op (e0) (e5)) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7e]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [ zenon_intro zenon_H7b | zenon_intro zenon_H7c ]. % 47.33/47.57 cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1)))) = ((op (e0) (e5)) = (op (e0) (op (e3) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H7e. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H7b. % 47.33/47.57 cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7c]. % 47.33/47.57 cut (((op (e0) (op (e3) (e1))) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7f]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H80 zenon_H79). % 47.33/47.57 apply zenon_H7c. apply refl_equal. % 47.33/47.57 apply zenon_H7c. apply refl_equal. % 47.33/47.57 apply zenon_H25. apply refl_equal. % 47.33/47.57 apply zenon_H7c. apply refl_equal. % 47.33/47.57 apply zenon_H7c. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L20_ *) % 47.33/47.57 assert (zenon_L21_ : ((op (e0) (e0)) = (e0)) -> ((op (e3) (e2)) = (e0)) -> (~((e0) = (op (e0) (op (e3) (e2))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H10 zenon_H81 zenon_H82. % 47.33/47.57 elim (classic ((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [ zenon_intro zenon_H83 | zenon_intro zenon_H84 ]. % 47.33/47.57 cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2)))) = ((e0) = (op (e0) (op (e3) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H82. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H83. % 47.33/47.57 cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H84]. % 47.33/47.57 cut (((op (e0) (op (e3) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H85]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e3) (e2))) = (e0))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H85. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H10. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 cut (((op (e0) (e0)) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [ zenon_intro zenon_H83 | zenon_intro zenon_H84 ]. % 47.33/47.57 cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2)))) = ((op (e0) (e0)) = (op (e0) (op (e3) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H86. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H83. % 47.33/47.57 cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H84]. % 47.33/47.57 cut (((op (e0) (op (e3) (e2))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H87]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H88 zenon_H81). % 47.33/47.57 apply zenon_H84. apply refl_equal. % 47.33/47.57 apply zenon_H84. apply refl_equal. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 apply zenon_H84. apply refl_equal. % 47.33/47.57 apply zenon_H84. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L21_ *) % 47.33/47.57 assert (zenon_L22_ : ((op (e0) (e2)) = (e2)) -> ((op (e3) (e3)) = (e2)) -> (~((e2) = (op (e0) (op (e3) (e3))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H2f zenon_H89 zenon_H8a. % 47.33/47.57 elim (classic ((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [ zenon_intro zenon_H8b | zenon_intro zenon_H8c ]. % 47.33/47.57 cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3)))) = ((e2) = (op (e0) (op (e3) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H8a. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H8b. % 47.33/47.57 cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H8c]. % 47.33/47.57 cut (((op (e0) (op (e3) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H8d]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e3) (e3))) = (e2))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H8d. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H2f. % 47.33/47.57 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.57 cut (((op (e0) (e2)) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H8e]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [ zenon_intro zenon_H8b | zenon_intro zenon_H8c ]. % 47.33/47.57 cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3)))) = ((op (e0) (e2)) = (op (e0) (op (e3) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H8e. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H8b. % 47.33/47.57 cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H8c]. % 47.33/47.57 cut (((op (e0) (op (e3) (e3))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8f]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H90 zenon_H89). % 47.33/47.57 apply zenon_H8c. apply refl_equal. % 47.33/47.57 apply zenon_H8c. apply refl_equal. % 47.33/47.57 apply zenon_H19. apply refl_equal. % 47.33/47.57 apply zenon_H8c. apply refl_equal. % 47.33/47.57 apply zenon_H8c. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L22_ *) % 47.33/47.57 assert (zenon_L23_ : ((op (e0) (e1)) = (e1)) -> ((op (e3) (e4)) = (e1)) -> (~((e1) = (op (e0) (op (e3) (e4))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H7 zenon_H91 zenon_H92. % 47.33/47.57 elim (classic ((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4))))); [ zenon_intro zenon_H93 | zenon_intro zenon_H94 ]. % 47.33/47.57 cut (((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4)))) = ((e1) = (op (e0) (op (e3) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H92. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H93. % 47.33/47.57 cut (((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H94]. % 47.33/47.57 cut (((op (e0) (op (e3) (e4))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e3) (e4))) = (e1))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H95. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H7. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 cut (((op (e0) (e1)) = (op (e0) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H96]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4))))); [ zenon_intro zenon_H93 | zenon_intro zenon_H94 ]. % 47.33/47.57 cut (((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4)))) = ((op (e0) (e1)) = (op (e0) (op (e3) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H96. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H93. % 47.33/47.57 cut (((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H94]. % 47.33/47.57 cut (((op (e0) (op (e3) (e4))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H97]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H98 zenon_H91). % 47.33/47.57 apply zenon_H94. apply refl_equal. % 47.33/47.57 apply zenon_H94. apply refl_equal. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 apply zenon_H94. apply refl_equal. % 47.33/47.57 apply zenon_H94. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L23_ *) % 47.33/47.57 assert (zenon_L24_ : ((op (e0) (e4)) = (e4)) -> ((op (e3) (e5)) = (e4)) -> (~((e4) = (op (e0) (op (e3) (e5))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H1b zenon_H99 zenon_H9a. % 47.33/47.57 elim (classic ((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5))))); [ zenon_intro zenon_H9b | zenon_intro zenon_H9c ]. % 47.33/47.57 cut (((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5)))) = ((e4) = (op (e0) (op (e3) (e5))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H9a. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H9b. % 47.33/47.57 cut (((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9c]. % 47.33/47.57 cut (((op (e0) (op (e3) (e5))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H9d]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e4)) = (e4)) = ((op (e0) (op (e3) (e5))) = (e4))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H9d. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H1b. % 47.33/47.57 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.33/47.57 cut (((op (e0) (e4)) = (op (e0) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9e]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5))))); [ zenon_intro zenon_H9b | zenon_intro zenon_H9c ]. % 47.33/47.57 cut (((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5)))) = ((op (e0) (e4)) = (op (e0) (op (e3) (e5))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H9e. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H9b. % 47.33/47.57 cut (((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9c]. % 47.33/47.57 cut (((op (e0) (op (e3) (e5))) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9f]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_Ha0 zenon_H99). % 47.33/47.57 apply zenon_H9c. apply refl_equal. % 47.33/47.57 apply zenon_H9c. apply refl_equal. % 47.33/47.57 apply zenon_H1a. apply refl_equal. % 47.33/47.57 apply zenon_H9c. apply refl_equal. % 47.33/47.57 apply zenon_H9c. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L24_ *) % 47.33/47.57 assert (zenon_L25_ : ((op (e0) (e4)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((e4) = (op (e0) (op (e4) (e0))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H1b zenon_Ha1 zenon_Ha2. % 47.33/47.57 elim (classic ((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0))))); [ zenon_intro zenon_Ha3 | zenon_intro zenon_Ha4 ]. % 47.33/47.57 cut (((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0)))) = ((e4) = (op (e0) (op (e4) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Ha2. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Ha3. % 47.33/47.57 cut (((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 47.33/47.57 cut (((op (e0) (op (e4) (e0))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e4)) = (e4)) = ((op (e0) (op (e4) (e0))) = (e4))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Ha5. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H1b. % 47.33/47.57 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.33/47.57 cut (((op (e0) (e4)) = (op (e0) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha6]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0))))); [ zenon_intro zenon_Ha3 | zenon_intro zenon_Ha4 ]. % 47.33/47.57 cut (((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0)))) = ((op (e0) (e4)) = (op (e0) (op (e4) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Ha6. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Ha3. % 47.33/47.57 cut (((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 47.33/47.57 cut (((op (e0) (op (e4) (e0))) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_Ha8 zenon_Ha1). % 47.33/47.57 apply zenon_Ha4. apply refl_equal. % 47.33/47.57 apply zenon_Ha4. apply refl_equal. % 47.33/47.57 apply zenon_H1a. apply refl_equal. % 47.33/47.57 apply zenon_Ha4. apply refl_equal. % 47.33/47.57 apply zenon_Ha4. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L25_ *) % 47.33/47.57 assert (zenon_L26_ : ((op (e0) (e2)) = (e2)) -> ((op (e4) (e1)) = (e2)) -> (~((e2) = (op (e0) (op (e4) (e1))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H2f zenon_Ha9 zenon_Haa. % 47.33/47.57 elim (classic ((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1))))); [ zenon_intro zenon_Hab | zenon_intro zenon_Hac ]. % 47.33/47.57 cut (((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1)))) = ((e2) = (op (e0) (op (e4) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Haa. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hab. % 47.33/47.57 cut (((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hac]. % 47.33/47.57 cut (((op (e0) (op (e4) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Had]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e4) (e1))) = (e2))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Had. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H2f. % 47.33/47.57 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.57 cut (((op (e0) (e2)) = (op (e0) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hae]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1))))); [ zenon_intro zenon_Hab | zenon_intro zenon_Hac ]. % 47.33/47.57 cut (((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1)))) = ((op (e0) (e2)) = (op (e0) (op (e4) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hae. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hab. % 47.33/47.57 cut (((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hac]. % 47.33/47.57 cut (((op (e0) (op (e4) (e1))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Haf]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_Hb0 zenon_Ha9). % 47.33/47.57 apply zenon_Hac. apply refl_equal. % 47.33/47.57 apply zenon_Hac. apply refl_equal. % 47.33/47.57 apply zenon_H19. apply refl_equal. % 47.33/47.57 apply zenon_Hac. apply refl_equal. % 47.33/47.57 apply zenon_Hac. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L26_ *) % 47.33/47.57 assert (zenon_L27_ : ((op (e0) (e5)) = (e5)) -> ((op (e4) (e2)) = (e5)) -> (~((e5) = (op (e0) (op (e4) (e2))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H26 zenon_Hb1 zenon_Hb2. % 47.33/47.57 elim (classic ((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2))))); [ zenon_intro zenon_Hb3 | zenon_intro zenon_Hb4 ]. % 47.33/47.57 cut (((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2)))) = ((e5) = (op (e0) (op (e4) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hb2. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hb3. % 47.33/47.57 cut (((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb4]. % 47.33/47.57 cut (((op (e0) (op (e4) (e2))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb5]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e5)) = (e5)) = ((op (e0) (op (e4) (e2))) = (e5))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hb5. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H26. % 47.33/47.57 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.33/47.57 cut (((op (e0) (e5)) = (op (e0) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb6]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2))))); [ zenon_intro zenon_Hb3 | zenon_intro zenon_Hb4 ]. % 47.33/47.57 cut (((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2)))) = ((op (e0) (e5)) = (op (e0) (op (e4) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hb6. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hb3. % 47.33/47.57 cut (((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb4]. % 47.33/47.57 cut (((op (e0) (op (e4) (e2))) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb7]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_Hb8 zenon_Hb1). % 47.33/47.57 apply zenon_Hb4. apply refl_equal. % 47.33/47.57 apply zenon_Hb4. apply refl_equal. % 47.33/47.57 apply zenon_H25. apply refl_equal. % 47.33/47.57 apply zenon_Hb4. apply refl_equal. % 47.33/47.57 apply zenon_Hb4. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L27_ *) % 47.33/47.57 assert (zenon_L28_ : ((op (e0) (e1)) = (e1)) -> ((op (e4) (e3)) = (e1)) -> (~((e1) = (op (e0) (op (e4) (e3))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H7 zenon_Hb9 zenon_Hba. % 47.33/47.57 elim (classic ((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3))))); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbc ]. % 47.33/47.57 cut (((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3)))) = ((e1) = (op (e0) (op (e4) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hba. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hbb. % 47.33/47.57 cut (((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hbc]. % 47.33/47.57 cut (((op (e0) (op (e4) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hbd]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e4) (e3))) = (e1))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hbd. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H7. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 cut (((op (e0) (e1)) = (op (e0) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hbe]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3))))); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbc ]. % 47.33/47.57 cut (((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3)))) = ((op (e0) (e1)) = (op (e0) (op (e4) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hbe. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hbb. % 47.33/47.57 cut (((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hbc]. % 47.33/47.57 cut (((op (e0) (op (e4) (e3))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hbf]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_Hc0 zenon_Hb9). % 47.33/47.57 apply zenon_Hbc. apply refl_equal. % 47.33/47.57 apply zenon_Hbc. apply refl_equal. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 apply zenon_Hbc. apply refl_equal. % 47.33/47.57 apply zenon_Hbc. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L28_ *) % 47.33/47.57 assert (zenon_L29_ : ((op (e0) (e3)) = (e3)) -> ((op (e4) (e4)) = (e3)) -> (~((e3) = (op (e0) (op (e4) (e4))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H38 zenon_Hc1 zenon_Hc2. % 47.33/47.57 elim (classic ((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4))))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc4 ]. % 47.33/47.57 cut (((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4)))) = ((e3) = (op (e0) (op (e4) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hc2. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hc3. % 47.33/47.57 cut (((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hc4]. % 47.33/47.57 cut (((op (e0) (op (e4) (e4))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc5]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e4) (e4))) = (e3))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hc5. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H38. % 47.33/47.57 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.33/47.57 cut (((op (e0) (e3)) = (op (e0) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hc6]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4))))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc4 ]. % 47.33/47.57 cut (((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4)))) = ((op (e0) (e3)) = (op (e0) (op (e4) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hc6. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hc3. % 47.33/47.57 cut (((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hc4]. % 47.33/47.57 cut (((op (e0) (op (e4) (e4))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_Hc8 zenon_Hc1). % 47.33/47.57 apply zenon_Hc4. apply refl_equal. % 47.33/47.57 apply zenon_Hc4. apply refl_equal. % 47.33/47.57 apply zenon_H24. apply refl_equal. % 47.33/47.57 apply zenon_Hc4. apply refl_equal. % 47.33/47.57 apply zenon_Hc4. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L29_ *) % 47.33/47.57 assert (zenon_L30_ : ((op (e0) (e0)) = (e0)) -> ((op (e4) (e5)) = (e0)) -> (~((e0) = (op (e0) (op (e4) (e5))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H10 zenon_Hc9 zenon_Hca. % 47.33/47.57 elim (classic ((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5))))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hcc ]. % 47.33/47.57 cut (((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5)))) = ((e0) = (op (e0) (op (e4) (e5))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hca. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hcb. % 47.33/47.57 cut (((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 47.33/47.57 cut (((op (e0) (op (e4) (e5))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hcd]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e4) (e5))) = (e0))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hcd. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H10. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 cut (((op (e0) (e0)) = (op (e0) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hce]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5))))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hcc ]. % 47.33/47.57 cut (((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5)))) = ((op (e0) (e0)) = (op (e0) (op (e4) (e5))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hce. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hcb. % 47.33/47.57 cut (((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 47.33/47.57 cut (((op (e0) (op (e4) (e5))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hcf]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_Hd0 zenon_Hc9). % 47.33/47.57 apply zenon_Hcc. apply refl_equal. % 47.33/47.57 apply zenon_Hcc. apply refl_equal. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 apply zenon_Hcc. apply refl_equal. % 47.33/47.57 apply zenon_Hcc. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L30_ *) % 47.33/47.57 assert (zenon_L31_ : ((op (e0) (e5)) = (e5)) -> ((op (e5) (e0)) = (e5)) -> (~((e5) = (op (e0) (op (e5) (e0))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H26 zenon_Hd1 zenon_Hd2. % 47.33/47.57 elim (classic ((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0))))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_Hd4 ]. % 47.33/47.57 cut (((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0)))) = ((e5) = (op (e0) (op (e5) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hd2. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hd3. % 47.33/47.57 cut (((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 47.33/47.57 cut (((op (e0) (op (e5) (e0))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd5]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e5)) = (e5)) = ((op (e0) (op (e5) (e0))) = (e5))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hd5. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H26. % 47.33/47.57 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.33/47.57 cut (((op (e0) (e5)) = (op (e0) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hd6]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0))))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_Hd4 ]. % 47.33/47.57 cut (((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0)))) = ((op (e0) (e5)) = (op (e0) (op (e5) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hd6. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hd3. % 47.33/47.57 cut (((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 47.33/47.57 cut (((op (e0) (op (e5) (e0))) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hd7]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_Hd8 zenon_Hd1). % 47.33/47.57 apply zenon_Hd4. apply refl_equal. % 47.33/47.57 apply zenon_Hd4. apply refl_equal. % 47.33/47.57 apply zenon_H25. apply refl_equal. % 47.33/47.57 apply zenon_Hd4. apply refl_equal. % 47.33/47.57 apply zenon_Hd4. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L31_ *) % 47.33/47.57 assert (zenon_L32_ : ((op (e0) (e3)) = (e3)) -> ((op (e5) (e1)) = (e3)) -> (~((e3) = (op (e0) (op (e5) (e1))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H38 zenon_Hd9 zenon_Hda. % 47.33/47.57 elim (classic ((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1))))); [ zenon_intro zenon_Hdb | zenon_intro zenon_Hdc ]. % 47.33/47.57 cut (((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1)))) = ((e3) = (op (e0) (op (e5) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hda. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hdb. % 47.33/47.57 cut (((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hdc]. % 47.33/47.57 cut (((op (e0) (op (e5) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hdd]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e5) (e1))) = (e3))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hdd. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H38. % 47.33/47.57 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.33/47.57 cut (((op (e0) (e3)) = (op (e0) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hde]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1))))); [ zenon_intro zenon_Hdb | zenon_intro zenon_Hdc ]. % 47.33/47.57 cut (((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1)))) = ((op (e0) (e3)) = (op (e0) (op (e5) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hde. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hdb. % 47.33/47.57 cut (((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hdc]. % 47.33/47.57 cut (((op (e0) (op (e5) (e1))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hdf]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_He0 zenon_Hd9). % 47.33/47.57 apply zenon_Hdc. apply refl_equal. % 47.33/47.57 apply zenon_Hdc. apply refl_equal. % 47.33/47.57 apply zenon_H24. apply refl_equal. % 47.33/47.57 apply zenon_Hdc. apply refl_equal. % 47.33/47.57 apply zenon_Hdc. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L32_ *) % 47.33/47.57 assert (zenon_L33_ : ((op (e0) (e1)) = (e1)) -> ((op (e5) (e2)) = (e1)) -> (~((e1) = (op (e0) (op (e5) (e2))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H7 zenon_He1 zenon_He2. % 47.33/47.57 elim (classic ((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2))))); [ zenon_intro zenon_He3 | zenon_intro zenon_He4 ]. % 47.33/47.57 cut (((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2)))) = ((e1) = (op (e0) (op (e5) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_He2. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_He3. % 47.33/47.57 cut (((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_He4]. % 47.33/47.57 cut (((op (e0) (op (e5) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He5]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e5) (e2))) = (e1))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_He5. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H7. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 cut (((op (e0) (e1)) = (op (e0) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_He6]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2))))); [ zenon_intro zenon_He3 | zenon_intro zenon_He4 ]. % 47.33/47.57 cut (((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2)))) = ((op (e0) (e1)) = (op (e0) (op (e5) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_He6. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_He3. % 47.33/47.57 cut (((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_He4]. % 47.33/47.57 cut (((op (e0) (op (e5) (e2))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_He7]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_He8 zenon_He1). % 47.33/47.57 apply zenon_He4. apply refl_equal. % 47.33/47.57 apply zenon_He4. apply refl_equal. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 apply zenon_He4. apply refl_equal. % 47.33/47.57 apply zenon_He4. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L33_ *) % 47.33/47.57 assert (zenon_L34_ : ((op (e0) (e4)) = (e4)) -> ((op (e5) (e3)) = (e4)) -> (~((e4) = (op (e0) (op (e5) (e3))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H1b zenon_He9 zenon_Hea. % 47.33/47.57 elim (classic ((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3))))); [ zenon_intro zenon_Heb | zenon_intro zenon_Hec ]. % 47.33/47.57 cut (((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3)))) = ((e4) = (op (e0) (op (e5) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hea. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Heb. % 47.33/47.57 cut (((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hec]. % 47.33/47.57 cut (((op (e0) (op (e5) (e3))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hed]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e4)) = (e4)) = ((op (e0) (op (e5) (e3))) = (e4))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hed. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H1b. % 47.33/47.57 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.33/47.57 cut (((op (e0) (e4)) = (op (e0) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hee]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3))))); [ zenon_intro zenon_Heb | zenon_intro zenon_Hec ]. % 47.33/47.57 cut (((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3)))) = ((op (e0) (e4)) = (op (e0) (op (e5) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hee. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Heb. % 47.33/47.57 cut (((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hec]. % 47.33/47.57 cut (((op (e0) (op (e5) (e3))) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hef]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_Hf0 zenon_He9). % 47.33/47.57 apply zenon_Hec. apply refl_equal. % 47.33/47.57 apply zenon_Hec. apply refl_equal. % 47.33/47.57 apply zenon_H1a. apply refl_equal. % 47.33/47.57 apply zenon_Hec. apply refl_equal. % 47.33/47.57 apply zenon_Hec. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L34_ *) % 47.33/47.57 assert (zenon_L35_ : ((op (e0) (e0)) = (e0)) -> ((op (e5) (e4)) = (e0)) -> (~((e0) = (op (e0) (op (e5) (e4))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H10 zenon_Hf1 zenon_Hf2. % 47.33/47.57 elim (classic ((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4))))); [ zenon_intro zenon_Hf3 | zenon_intro zenon_Hf4 ]. % 47.33/47.57 cut (((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4)))) = ((e0) = (op (e0) (op (e5) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hf2. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hf3. % 47.33/47.57 cut (((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hf4]. % 47.33/47.57 cut (((op (e0) (op (e5) (e4))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf5]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e5) (e4))) = (e0))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hf5. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H10. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 cut (((op (e0) (e0)) = (op (e0) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hf6]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4))))); [ zenon_intro zenon_Hf3 | zenon_intro zenon_Hf4 ]. % 47.33/47.57 cut (((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4)))) = ((op (e0) (e0)) = (op (e0) (op (e5) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hf6. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hf3. % 47.33/47.57 cut (((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hf4]. % 47.33/47.57 cut (((op (e0) (op (e5) (e4))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hf7]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_Hf8 zenon_Hf1). % 47.33/47.57 apply zenon_Hf4. apply refl_equal. % 47.33/47.57 apply zenon_Hf4. apply refl_equal. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 apply zenon_Hf4. apply refl_equal. % 47.33/47.57 apply zenon_Hf4. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L35_ *) % 47.33/47.57 assert (zenon_L36_ : ((op (e0) (e2)) = (e2)) -> ((op (e5) (e5)) = (e2)) -> (~((e2) = (op (e0) (op (e5) (e5))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H2f zenon_Hf9 zenon_Hfa. % 47.33/47.57 elim (classic ((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5))))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hfc ]. % 47.33/47.57 cut (((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5)))) = ((e2) = (op (e0) (op (e5) (e5))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hfa. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hfb. % 47.33/47.57 cut (((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hfc]. % 47.33/47.57 cut (((op (e0) (op (e5) (e5))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hfd]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e5) (e5))) = (e2))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hfd. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H2f. % 47.33/47.57 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.57 cut (((op (e0) (e2)) = (op (e0) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hfe]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5))))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hfc ]. % 47.33/47.57 cut (((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5)))) = ((op (e0) (e2)) = (op (e0) (op (e5) (e5))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_Hfe. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_Hfb. % 47.33/47.57 cut (((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hfc]. % 47.33/47.57 cut (((op (e0) (op (e5) (e5))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hff]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 exact (zenon_H100 zenon_Hf9). % 47.33/47.57 apply zenon_Hfc. apply refl_equal. % 47.33/47.57 apply zenon_Hfc. apply refl_equal. % 47.33/47.57 apply zenon_H19. apply refl_equal. % 47.33/47.57 apply zenon_Hfc. apply refl_equal. % 47.33/47.57 apply zenon_Hfc. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L36_ *) % 47.33/47.57 assert (zenon_L37_ : ((op (e1) (e2)) = (e4)) -> ((op (e2) (e0)) = (e2)) -> (~((e4) = (op (e1) (op (e2) (e0))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H1c zenon_H41 zenon_H101. % 47.33/47.57 elim (classic ((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [ zenon_intro zenon_H102 | zenon_intro zenon_H103 ]. % 47.33/47.57 cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0)))) = ((e4) = (op (e1) (op (e2) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H101. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H102. % 47.33/47.57 cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H103]. % 47.33/47.57 cut (((op (e1) (op (e2) (e0))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H104]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e2)) = (e4)) = ((op (e1) (op (e2) (e0))) = (e4))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H104. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H1c. % 47.33/47.57 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.33/47.57 cut (((op (e1) (e2)) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H105]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [ zenon_intro zenon_H102 | zenon_intro zenon_H103 ]. % 47.33/47.57 cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0)))) = ((op (e1) (e2)) = (op (e1) (op (e2) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H105. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H102. % 47.33/47.57 cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H103]. % 47.33/47.57 cut (((op (e1) (op (e2) (e0))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H106]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_H48 zenon_H41). % 47.33/47.57 apply zenon_H103. apply refl_equal. % 47.33/47.57 apply zenon_H103. apply refl_equal. % 47.33/47.57 apply zenon_H1a. apply refl_equal. % 47.33/47.57 apply zenon_H103. apply refl_equal. % 47.33/47.57 apply zenon_H103. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L37_ *) % 47.33/47.57 assert (zenon_L38_ : ((op (e1) (e4)) = (e2)) -> ((op (e2) (e1)) = (e4)) -> (~((e2) = (op (e1) (op (e2) (e1))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H30 zenon_H49 zenon_H107. % 47.33/47.57 elim (classic ((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 47.33/47.57 cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1)))) = ((e2) = (op (e1) (op (e2) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H107. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H108. % 47.33/47.57 cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 47.33/47.57 cut (((op (e1) (op (e2) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H10a]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e4)) = (e2)) = ((op (e1) (op (e2) (e1))) = (e2))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H10a. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H30. % 47.33/47.57 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.57 cut (((op (e1) (e4)) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H10b]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 47.33/47.57 cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1)))) = ((op (e1) (e4)) = (op (e1) (op (e2) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H10b. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H108. % 47.33/47.57 cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 47.33/47.57 cut (((op (e1) (op (e2) (e1))) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H10c]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_H50 zenon_H49). % 47.33/47.57 apply zenon_H109. apply refl_equal. % 47.33/47.57 apply zenon_H109. apply refl_equal. % 47.33/47.57 apply zenon_H19. apply refl_equal. % 47.33/47.57 apply zenon_H109. apply refl_equal. % 47.33/47.57 apply zenon_H109. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L38_ *) % 47.33/47.57 assert (zenon_L39_ : ((op (e1) (e3)) = (e5)) -> ((op (e2) (e2)) = (e3)) -> (~((e5) = (op (e1) (op (e2) (e2))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H27 zenon_H51 zenon_H10d. % 47.33/47.57 elim (classic ((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [ zenon_intro zenon_H10e | zenon_intro zenon_H10f ]. % 47.33/47.57 cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2)))) = ((e5) = (op (e1) (op (e2) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H10d. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H10e. % 47.33/47.57 cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H10f]. % 47.33/47.57 cut (((op (e1) (op (e2) (e2))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H110]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e3)) = (e5)) = ((op (e1) (op (e2) (e2))) = (e5))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H110. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H27. % 47.33/47.57 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.33/47.57 cut (((op (e1) (e3)) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H111]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [ zenon_intro zenon_H10e | zenon_intro zenon_H10f ]. % 47.33/47.57 cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2)))) = ((op (e1) (e3)) = (op (e1) (op (e2) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H111. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H10e. % 47.33/47.57 cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H10f]. % 47.33/47.57 cut (((op (e1) (op (e2) (e2))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H112]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_H58 zenon_H51). % 47.33/47.57 apply zenon_H10f. apply refl_equal. % 47.33/47.57 apply zenon_H10f. apply refl_equal. % 47.33/47.57 apply zenon_H25. apply refl_equal. % 47.33/47.57 apply zenon_H10f. apply refl_equal. % 47.33/47.57 apply zenon_H10f. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L39_ *) % 47.33/47.57 assert (zenon_L40_ : ((op (e1) (e0)) = (e1)) -> ((op (e2) (e3)) = (e0)) -> (~((e1) = (op (e1) (op (e2) (e3))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H8 zenon_H59 zenon_H113. % 47.33/47.57 elim (classic ((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [ zenon_intro zenon_H114 | zenon_intro zenon_H115 ]. % 47.33/47.57 cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3)))) = ((e1) = (op (e1) (op (e2) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H113. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H114. % 47.33/47.57 cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H115]. % 47.33/47.57 cut (((op (e1) (op (e2) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H116]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e2) (e3))) = (e1))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H116. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H8. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 cut (((op (e1) (e0)) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H117]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [ zenon_intro zenon_H114 | zenon_intro zenon_H115 ]. % 47.33/47.57 cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3)))) = ((op (e1) (e0)) = (op (e1) (op (e2) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H117. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H114. % 47.33/47.57 cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H115]. % 47.33/47.57 cut (((op (e1) (op (e2) (e3))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H118]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_H60 zenon_H59). % 47.33/47.57 apply zenon_H115. apply refl_equal. % 47.33/47.57 apply zenon_H115. apply refl_equal. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 apply zenon_H115. apply refl_equal. % 47.33/47.57 apply zenon_H115. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L40_ *) % 47.33/47.57 assert (zenon_L41_ : ((op (e1) (e5)) = (e3)) -> ((op (e2) (e4)) = (e5)) -> (~((e3) = (op (e1) (op (e2) (e4))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H39 zenon_H61 zenon_H119. % 47.33/47.57 elim (classic ((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4))))); [ zenon_intro zenon_H11a | zenon_intro zenon_H11b ]. % 47.33/47.57 cut (((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4)))) = ((e3) = (op (e1) (op (e2) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H119. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H11a. % 47.33/47.57 cut (((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H11b]. % 47.33/47.57 cut (((op (e1) (op (e2) (e4))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H11c]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e5)) = (e3)) = ((op (e1) (op (e2) (e4))) = (e3))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H11c. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H39. % 47.33/47.57 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.33/47.57 cut (((op (e1) (e5)) = (op (e1) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H11d]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4))))); [ zenon_intro zenon_H11a | zenon_intro zenon_H11b ]. % 47.33/47.57 cut (((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4)))) = ((op (e1) (e5)) = (op (e1) (op (e2) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H11d. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H11a. % 47.33/47.57 cut (((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H11b]. % 47.33/47.57 cut (((op (e1) (op (e2) (e4))) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H11e]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_H68 zenon_H61). % 47.33/47.57 apply zenon_H11b. apply refl_equal. % 47.33/47.57 apply zenon_H11b. apply refl_equal. % 47.33/47.57 apply zenon_H24. apply refl_equal. % 47.33/47.57 apply zenon_H11b. apply refl_equal. % 47.33/47.57 apply zenon_H11b. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L41_ *) % 47.33/47.57 assert (zenon_L42_ : ((op (e1) (e1)) = (e0)) -> ((op (e2) (e5)) = (e1)) -> (~((e0) = (op (e1) (op (e2) (e5))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H11 zenon_H69 zenon_H11f. % 47.33/47.57 elim (classic ((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5))))); [ zenon_intro zenon_H120 | zenon_intro zenon_H121 ]. % 47.33/47.57 cut (((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5)))) = ((e0) = (op (e1) (op (e2) (e5))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H11f. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H120. % 47.33/47.57 cut (((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H121]. % 47.33/47.57 cut (((op (e1) (op (e2) (e5))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H122]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e1)) = (e0)) = ((op (e1) (op (e2) (e5))) = (e0))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H122. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H11. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 cut (((op (e1) (e1)) = (op (e1) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H123]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5))))); [ zenon_intro zenon_H120 | zenon_intro zenon_H121 ]. % 47.33/47.57 cut (((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5)))) = ((op (e1) (e1)) = (op (e1) (op (e2) (e5))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H123. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H120. % 47.33/47.57 cut (((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H121]. % 47.33/47.57 cut (((op (e1) (op (e2) (e5))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H124]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_H70 zenon_H69). % 47.33/47.57 apply zenon_H121. apply refl_equal. % 47.33/47.57 apply zenon_H121. apply refl_equal. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 apply zenon_H121. apply refl_equal. % 47.33/47.57 apply zenon_H121. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L42_ *) % 47.33/47.57 assert (zenon_L43_ : ((op (e1) (e3)) = (e5)) -> ((op (e3) (e0)) = (e3)) -> (~((e5) = (op (e1) (op (e3) (e0))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H27 zenon_H71 zenon_H125. % 47.33/47.57 elim (classic ((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [ zenon_intro zenon_H126 | zenon_intro zenon_H127 ]. % 47.33/47.57 cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0)))) = ((e5) = (op (e1) (op (e3) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H125. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H126. % 47.33/47.57 cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H127]. % 47.33/47.57 cut (((op (e1) (op (e3) (e0))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H128]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e3)) = (e5)) = ((op (e1) (op (e3) (e0))) = (e5))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H128. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H27. % 47.33/47.57 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.33/47.57 cut (((op (e1) (e3)) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H129]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [ zenon_intro zenon_H126 | zenon_intro zenon_H127 ]. % 47.33/47.57 cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0)))) = ((op (e1) (e3)) = (op (e1) (op (e3) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H129. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H126. % 47.33/47.57 cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H127]. % 47.33/47.57 cut (((op (e1) (op (e3) (e0))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H12a]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_H78 zenon_H71). % 47.33/47.57 apply zenon_H127. apply refl_equal. % 47.33/47.57 apply zenon_H127. apply refl_equal. % 47.33/47.57 apply zenon_H25. apply refl_equal. % 47.33/47.57 apply zenon_H127. apply refl_equal. % 47.33/47.57 apply zenon_H127. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L43_ *) % 47.33/47.57 assert (zenon_L44_ : ((op (e1) (e5)) = (e3)) -> ((op (e3) (e1)) = (e5)) -> (~((e3) = (op (e1) (op (e3) (e1))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H39 zenon_H79 zenon_H12b. % 47.33/47.57 elim (classic ((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [ zenon_intro zenon_H12c | zenon_intro zenon_H12d ]. % 47.33/47.57 cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1)))) = ((e3) = (op (e1) (op (e3) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H12b. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H12c. % 47.33/47.57 cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H12d]. % 47.33/47.57 cut (((op (e1) (op (e3) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H12e]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e5)) = (e3)) = ((op (e1) (op (e3) (e1))) = (e3))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H12e. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H39. % 47.33/47.57 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.33/47.57 cut (((op (e1) (e5)) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H12f]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [ zenon_intro zenon_H12c | zenon_intro zenon_H12d ]. % 47.33/47.57 cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1)))) = ((op (e1) (e5)) = (op (e1) (op (e3) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H12f. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H12c. % 47.33/47.57 cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H12d]. % 47.33/47.57 cut (((op (e1) (op (e3) (e1))) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H130]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_H80 zenon_H79). % 47.33/47.57 apply zenon_H12d. apply refl_equal. % 47.33/47.57 apply zenon_H12d. apply refl_equal. % 47.33/47.57 apply zenon_H24. apply refl_equal. % 47.33/47.57 apply zenon_H12d. apply refl_equal. % 47.33/47.57 apply zenon_H12d. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L44_ *) % 47.33/47.57 assert (zenon_L45_ : ((op (e1) (e0)) = (e1)) -> ((op (e3) (e2)) = (e0)) -> (~((e1) = (op (e1) (op (e3) (e2))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H8 zenon_H81 zenon_H131. % 47.33/47.57 elim (classic ((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [ zenon_intro zenon_H132 | zenon_intro zenon_H133 ]. % 47.33/47.57 cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2)))) = ((e1) = (op (e1) (op (e3) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H131. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H132. % 47.33/47.57 cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H133]. % 47.33/47.57 cut (((op (e1) (op (e3) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H134]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e3) (e2))) = (e1))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H134. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H8. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 cut (((op (e1) (e0)) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H135]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [ zenon_intro zenon_H132 | zenon_intro zenon_H133 ]. % 47.33/47.57 cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2)))) = ((op (e1) (e0)) = (op (e1) (op (e3) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H135. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H132. % 47.33/47.57 cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H133]. % 47.33/47.57 cut (((op (e1) (op (e3) (e2))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H136]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_H88 zenon_H81). % 47.33/47.57 apply zenon_H133. apply refl_equal. % 47.33/47.57 apply zenon_H133. apply refl_equal. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 apply zenon_H133. apply refl_equal. % 47.33/47.57 apply zenon_H133. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L45_ *) % 47.33/47.57 assert (zenon_L46_ : ((op (e1) (e2)) = (e4)) -> ((op (e3) (e3)) = (e2)) -> (~((e4) = (op (e1) (op (e3) (e3))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H1c zenon_H89 zenon_H137. % 47.33/47.57 elim (classic ((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [ zenon_intro zenon_H138 | zenon_intro zenon_H139 ]. % 47.33/47.57 cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3)))) = ((e4) = (op (e1) (op (e3) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H137. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H138. % 47.33/47.57 cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H139]. % 47.33/47.57 cut (((op (e1) (op (e3) (e3))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H13a]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e2)) = (e4)) = ((op (e1) (op (e3) (e3))) = (e4))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H13a. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H1c. % 47.33/47.57 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.33/47.57 cut (((op (e1) (e2)) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H13b]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [ zenon_intro zenon_H138 | zenon_intro zenon_H139 ]. % 47.33/47.57 cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3)))) = ((op (e1) (e2)) = (op (e1) (op (e3) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H13b. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H138. % 47.33/47.57 cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H139]. % 47.33/47.57 cut (((op (e1) (op (e3) (e3))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H13c]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_H90 zenon_H89). % 47.33/47.57 apply zenon_H139. apply refl_equal. % 47.33/47.57 apply zenon_H139. apply refl_equal. % 47.33/47.57 apply zenon_H1a. apply refl_equal. % 47.33/47.57 apply zenon_H139. apply refl_equal. % 47.33/47.57 apply zenon_H139. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L46_ *) % 47.33/47.57 assert (zenon_L47_ : ((op (e1) (e1)) = (e0)) -> ((op (e3) (e4)) = (e1)) -> (~((e0) = (op (e1) (op (e3) (e4))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H11 zenon_H91 zenon_H13d. % 47.33/47.57 elim (classic ((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4))))); [ zenon_intro zenon_H13e | zenon_intro zenon_H13f ]. % 47.33/47.57 cut (((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4)))) = ((e0) = (op (e1) (op (e3) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H13d. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H13e. % 47.33/47.57 cut (((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H13f]. % 47.33/47.57 cut (((op (e1) (op (e3) (e4))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H140]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e1)) = (e0)) = ((op (e1) (op (e3) (e4))) = (e0))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H140. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H11. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 cut (((op (e1) (e1)) = (op (e1) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H141]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4))))); [ zenon_intro zenon_H13e | zenon_intro zenon_H13f ]. % 47.33/47.57 cut (((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4)))) = ((op (e1) (e1)) = (op (e1) (op (e3) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H141. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H13e. % 47.33/47.57 cut (((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H13f]. % 47.33/47.57 cut (((op (e1) (op (e3) (e4))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H142]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_H98 zenon_H91). % 47.33/47.57 apply zenon_H13f. apply refl_equal. % 47.33/47.57 apply zenon_H13f. apply refl_equal. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 apply zenon_H13f. apply refl_equal. % 47.33/47.57 apply zenon_H13f. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L47_ *) % 47.33/47.57 assert (zenon_L48_ : ((op (e1) (e4)) = (e2)) -> ((op (e3) (e5)) = (e4)) -> (~((e2) = (op (e1) (op (e3) (e5))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H30 zenon_H99 zenon_H143. % 47.33/47.57 elim (classic ((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5))))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ]. % 47.33/47.57 cut (((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5)))) = ((e2) = (op (e1) (op (e3) (e5))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H143. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H144. % 47.33/47.57 cut (((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H145]. % 47.33/47.57 cut (((op (e1) (op (e3) (e5))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H146]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e4)) = (e2)) = ((op (e1) (op (e3) (e5))) = (e2))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H146. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H30. % 47.33/47.57 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.57 cut (((op (e1) (e4)) = (op (e1) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H147]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5))))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ]. % 47.33/47.57 cut (((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5)))) = ((op (e1) (e4)) = (op (e1) (op (e3) (e5))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H147. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H144. % 47.33/47.57 cut (((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H145]. % 47.33/47.57 cut (((op (e1) (op (e3) (e5))) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H148]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_Ha0 zenon_H99). % 47.33/47.57 apply zenon_H145. apply refl_equal. % 47.33/47.57 apply zenon_H145. apply refl_equal. % 47.33/47.57 apply zenon_H19. apply refl_equal. % 47.33/47.57 apply zenon_H145. apply refl_equal. % 47.33/47.57 apply zenon_H145. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L48_ *) % 47.33/47.57 assert (zenon_L49_ : ((op (e1) (e4)) = (e2)) -> ((op (e4) (e0)) = (e4)) -> (~((e2) = (op (e1) (op (e4) (e0))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H30 zenon_Ha1 zenon_H149. % 47.33/47.57 elim (classic ((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0))))); [ zenon_intro zenon_H14a | zenon_intro zenon_H14b ]. % 47.33/47.57 cut (((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0)))) = ((e2) = (op (e1) (op (e4) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H149. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H14a. % 47.33/47.57 cut (((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H14b]. % 47.33/47.57 cut (((op (e1) (op (e4) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H14c]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e4)) = (e2)) = ((op (e1) (op (e4) (e0))) = (e2))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H14c. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H30. % 47.33/47.57 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.57 cut (((op (e1) (e4)) = (op (e1) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H14d]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0))))); [ zenon_intro zenon_H14a | zenon_intro zenon_H14b ]. % 47.33/47.57 cut (((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0)))) = ((op (e1) (e4)) = (op (e1) (op (e4) (e0))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H14d. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H14a. % 47.33/47.57 cut (((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H14b]. % 47.33/47.57 cut (((op (e1) (op (e4) (e0))) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H14e]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_Ha8 zenon_Ha1). % 47.33/47.57 apply zenon_H14b. apply refl_equal. % 47.33/47.57 apply zenon_H14b. apply refl_equal. % 47.33/47.57 apply zenon_H19. apply refl_equal. % 47.33/47.57 apply zenon_H14b. apply refl_equal. % 47.33/47.57 apply zenon_H14b. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L49_ *) % 47.33/47.57 assert (zenon_L50_ : ((op (e1) (e2)) = (e4)) -> ((op (e4) (e1)) = (e2)) -> (~((e4) = (op (e1) (op (e4) (e1))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H1c zenon_Ha9 zenon_H14f. % 47.33/47.57 elim (classic ((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1))))); [ zenon_intro zenon_H150 | zenon_intro zenon_H151 ]. % 47.33/47.57 cut (((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1)))) = ((e4) = (op (e1) (op (e4) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H14f. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H150. % 47.33/47.57 cut (((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H151]. % 47.33/47.57 cut (((op (e1) (op (e4) (e1))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H152]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e2)) = (e4)) = ((op (e1) (op (e4) (e1))) = (e4))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H152. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H1c. % 47.33/47.57 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.33/47.57 cut (((op (e1) (e2)) = (op (e1) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H153]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1))))); [ zenon_intro zenon_H150 | zenon_intro zenon_H151 ]. % 47.33/47.57 cut (((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1)))) = ((op (e1) (e2)) = (op (e1) (op (e4) (e1))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H153. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H150. % 47.33/47.57 cut (((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H151]. % 47.33/47.57 cut (((op (e1) (op (e4) (e1))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H154]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_Hb0 zenon_Ha9). % 47.33/47.57 apply zenon_H151. apply refl_equal. % 47.33/47.57 apply zenon_H151. apply refl_equal. % 47.33/47.57 apply zenon_H1a. apply refl_equal. % 47.33/47.57 apply zenon_H151. apply refl_equal. % 47.33/47.57 apply zenon_H151. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L50_ *) % 47.33/47.57 assert (zenon_L51_ : ((op (e1) (e5)) = (e3)) -> ((op (e4) (e2)) = (e5)) -> (~((e3) = (op (e1) (op (e4) (e2))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H39 zenon_Hb1 zenon_H155. % 47.33/47.57 elim (classic ((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2))))); [ zenon_intro zenon_H156 | zenon_intro zenon_H157 ]. % 47.33/47.57 cut (((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2)))) = ((e3) = (op (e1) (op (e4) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H155. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H156. % 47.33/47.57 cut (((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H157]. % 47.33/47.57 cut (((op (e1) (op (e4) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H158]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e5)) = (e3)) = ((op (e1) (op (e4) (e2))) = (e3))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H158. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H39. % 47.33/47.57 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.33/47.57 cut (((op (e1) (e5)) = (op (e1) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H159]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2))))); [ zenon_intro zenon_H156 | zenon_intro zenon_H157 ]. % 47.33/47.57 cut (((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2)))) = ((op (e1) (e5)) = (op (e1) (op (e4) (e2))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H159. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H156. % 47.33/47.57 cut (((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H157]. % 47.33/47.57 cut (((op (e1) (op (e4) (e2))) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H15a]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_Hb8 zenon_Hb1). % 47.33/47.57 apply zenon_H157. apply refl_equal. % 47.33/47.57 apply zenon_H157. apply refl_equal. % 47.33/47.57 apply zenon_H24. apply refl_equal. % 47.33/47.57 apply zenon_H157. apply refl_equal. % 47.33/47.57 apply zenon_H157. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L51_ *) % 47.33/47.57 assert (zenon_L52_ : ((op (e1) (e1)) = (e0)) -> ((op (e4) (e3)) = (e1)) -> (~((e0) = (op (e1) (op (e4) (e3))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H11 zenon_Hb9 zenon_H15b. % 47.33/47.57 elim (classic ((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3))))); [ zenon_intro zenon_H15c | zenon_intro zenon_H15d ]. % 47.33/47.57 cut (((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3)))) = ((e0) = (op (e1) (op (e4) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H15b. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H15c. % 47.33/47.57 cut (((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H15d]. % 47.33/47.57 cut (((op (e1) (op (e4) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H15e]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e1)) = (e0)) = ((op (e1) (op (e4) (e3))) = (e0))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H15e. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H11. % 47.33/47.57 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.57 cut (((op (e1) (e1)) = (op (e1) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H15f]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3))))); [ zenon_intro zenon_H15c | zenon_intro zenon_H15d ]. % 47.33/47.57 cut (((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3)))) = ((op (e1) (e1)) = (op (e1) (op (e4) (e3))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H15f. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H15c. % 47.33/47.57 cut (((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H15d]. % 47.33/47.57 cut (((op (e1) (op (e4) (e3))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H160]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_Hc0 zenon_Hb9). % 47.33/47.57 apply zenon_H15d. apply refl_equal. % 47.33/47.57 apply zenon_H15d. apply refl_equal. % 47.33/47.57 apply zenon_H5. apply refl_equal. % 47.33/47.57 apply zenon_H15d. apply refl_equal. % 47.33/47.57 apply zenon_H15d. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L52_ *) % 47.33/47.57 assert (zenon_L53_ : ((op (e1) (e3)) = (e5)) -> ((op (e4) (e4)) = (e3)) -> (~((e5) = (op (e1) (op (e4) (e4))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H27 zenon_Hc1 zenon_H161. % 47.33/47.57 elim (classic ((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4))))); [ zenon_intro zenon_H162 | zenon_intro zenon_H163 ]. % 47.33/47.57 cut (((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4)))) = ((e5) = (op (e1) (op (e4) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H161. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H162. % 47.33/47.57 cut (((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H163]. % 47.33/47.57 cut (((op (e1) (op (e4) (e4))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H164]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e3)) = (e5)) = ((op (e1) (op (e4) (e4))) = (e5))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H164. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H27. % 47.33/47.57 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.33/47.57 cut (((op (e1) (e3)) = (op (e1) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H165]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4))))); [ zenon_intro zenon_H162 | zenon_intro zenon_H163 ]. % 47.33/47.57 cut (((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4)))) = ((op (e1) (e3)) = (op (e1) (op (e4) (e4))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H165. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H162. % 47.33/47.57 cut (((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H163]. % 47.33/47.57 cut (((op (e1) (op (e4) (e4))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H166]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 congruence. % 47.33/47.57 apply zenon_H6. apply refl_equal. % 47.33/47.57 exact (zenon_Hc8 zenon_Hc1). % 47.33/47.57 apply zenon_H163. apply refl_equal. % 47.33/47.57 apply zenon_H163. apply refl_equal. % 47.33/47.57 apply zenon_H25. apply refl_equal. % 47.33/47.57 apply zenon_H163. apply refl_equal. % 47.33/47.57 apply zenon_H163. apply refl_equal. % 47.33/47.57 (* end of lemma zenon_L53_ *) % 47.33/47.57 assert (zenon_L54_ : ((op (e1) (e0)) = (e1)) -> ((op (e4) (e5)) = (e0)) -> (~((e1) = (op (e1) (op (e4) (e5))))) -> False). % 47.33/47.57 do 0 intro. intros zenon_H8 zenon_Hc9 zenon_H167. % 47.33/47.57 elim (classic ((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5))))); [ zenon_intro zenon_H168 | zenon_intro zenon_H169 ]. % 47.33/47.57 cut (((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5)))) = ((e1) = (op (e1) (op (e4) (e5))))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H167. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H168. % 47.33/47.57 cut (((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H169]. % 47.33/47.57 cut (((op (e1) (op (e4) (e5))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H16a]. % 47.33/47.57 congruence. % 47.33/47.57 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e4) (e5))) = (e1))). % 47.33/47.57 intro zenon_D_pnotp. % 47.33/47.57 apply zenon_H16a. % 47.33/47.57 rewrite <- zenon_D_pnotp. % 47.33/47.57 exact zenon_H8. % 47.33/47.57 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.57 cut (((op (e1) (e0)) = (op (e1) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H16b]. % 47.33/47.57 congruence. % 47.33/47.57 elim (classic ((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5))))); [ zenon_intro zenon_H168 | zenon_intro zenon_H169 ]. % 47.33/47.58 cut (((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5)))) = ((op (e1) (e0)) = (op (e1) (op (e4) (e5))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H16b. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H168. % 47.33/47.58 cut (((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H169]. % 47.33/47.58 cut (((op (e1) (op (e4) (e5))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H16c]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.33/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.58 congruence. % 47.33/47.58 apply zenon_H6. apply refl_equal. % 47.33/47.58 exact (zenon_Hd0 zenon_Hc9). % 47.33/47.58 apply zenon_H169. apply refl_equal. % 47.33/47.58 apply zenon_H169. apply refl_equal. % 47.33/47.58 apply zenon_H6. apply refl_equal. % 47.33/47.58 apply zenon_H169. apply refl_equal. % 47.33/47.58 apply zenon_H169. apply refl_equal. % 47.33/47.58 (* end of lemma zenon_L54_ *) % 47.33/47.58 assert (zenon_L55_ : ((op (e1) (e5)) = (e3)) -> ((op (e5) (e0)) = (e5)) -> (~((e3) = (op (e1) (op (e5) (e0))))) -> False). % 47.33/47.58 do 0 intro. intros zenon_H39 zenon_Hd1 zenon_H16d. % 47.33/47.58 elim (classic ((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0))))); [ zenon_intro zenon_H16e | zenon_intro zenon_H16f ]. % 47.33/47.58 cut (((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0)))) = ((e3) = (op (e1) (op (e5) (e0))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H16d. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H16e. % 47.33/47.58 cut (((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H16f]. % 47.33/47.58 cut (((op (e1) (op (e5) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H170]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e1) (e5)) = (e3)) = ((op (e1) (op (e5) (e0))) = (e3))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H170. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H39. % 47.33/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.33/47.58 cut (((op (e1) (e5)) = (op (e1) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H171]. % 47.33/47.58 congruence. % 47.33/47.58 elim (classic ((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0))))); [ zenon_intro zenon_H16e | zenon_intro zenon_H16f ]. % 47.33/47.58 cut (((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0)))) = ((op (e1) (e5)) = (op (e1) (op (e5) (e0))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H171. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H16e. % 47.33/47.58 cut (((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H16f]. % 47.33/47.58 cut (((op (e1) (op (e5) (e0))) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H172]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.33/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.58 congruence. % 47.33/47.58 apply zenon_H6. apply refl_equal. % 47.33/47.58 exact (zenon_Hd8 zenon_Hd1). % 47.33/47.58 apply zenon_H16f. apply refl_equal. % 47.33/47.58 apply zenon_H16f. apply refl_equal. % 47.33/47.58 apply zenon_H24. apply refl_equal. % 47.33/47.58 apply zenon_H16f. apply refl_equal. % 47.33/47.58 apply zenon_H16f. apply refl_equal. % 47.33/47.58 (* end of lemma zenon_L55_ *) % 47.33/47.58 assert (zenon_L56_ : ((op (e1) (e3)) = (e5)) -> ((op (e5) (e1)) = (e3)) -> (~((e5) = (op (e1) (op (e5) (e1))))) -> False). % 47.33/47.58 do 0 intro. intros zenon_H27 zenon_Hd9 zenon_H173. % 47.33/47.58 elim (classic ((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1))))); [ zenon_intro zenon_H174 | zenon_intro zenon_H175 ]. % 47.33/47.58 cut (((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1)))) = ((e5) = (op (e1) (op (e5) (e1))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H173. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H174. % 47.33/47.58 cut (((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H175]. % 47.33/47.58 cut (((op (e1) (op (e5) (e1))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H176]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e1) (e3)) = (e5)) = ((op (e1) (op (e5) (e1))) = (e5))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H176. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H27. % 47.33/47.58 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.33/47.58 cut (((op (e1) (e3)) = (op (e1) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H177]. % 47.33/47.58 congruence. % 47.33/47.58 elim (classic ((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1))))); [ zenon_intro zenon_H174 | zenon_intro zenon_H175 ]. % 47.33/47.58 cut (((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1)))) = ((op (e1) (e3)) = (op (e1) (op (e5) (e1))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H177. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H174. % 47.33/47.58 cut (((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H175]. % 47.33/47.58 cut (((op (e1) (op (e5) (e1))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H178]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.33/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.58 congruence. % 47.33/47.58 apply zenon_H6. apply refl_equal. % 47.33/47.58 exact (zenon_He0 zenon_Hd9). % 47.33/47.58 apply zenon_H175. apply refl_equal. % 47.33/47.58 apply zenon_H175. apply refl_equal. % 47.33/47.58 apply zenon_H25. apply refl_equal. % 47.33/47.58 apply zenon_H175. apply refl_equal. % 47.33/47.58 apply zenon_H175. apply refl_equal. % 47.33/47.58 (* end of lemma zenon_L56_ *) % 47.33/47.58 assert (zenon_L57_ : ((op (e1) (e1)) = (e0)) -> ((op (e5) (e2)) = (e1)) -> (~((e0) = (op (e1) (op (e5) (e2))))) -> False). % 47.33/47.58 do 0 intro. intros zenon_H11 zenon_He1 zenon_H179. % 47.33/47.58 elim (classic ((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2))))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17b ]. % 47.33/47.58 cut (((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2)))) = ((e0) = (op (e1) (op (e5) (e2))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H179. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H17a. % 47.33/47.58 cut (((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H17b]. % 47.33/47.58 cut (((op (e1) (op (e5) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H17c]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e1) (e1)) = (e0)) = ((op (e1) (op (e5) (e2))) = (e0))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H17c. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H11. % 47.33/47.58 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.58 cut (((op (e1) (e1)) = (op (e1) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H17d]. % 47.33/47.58 congruence. % 47.33/47.58 elim (classic ((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2))))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17b ]. % 47.33/47.58 cut (((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2)))) = ((op (e1) (e1)) = (op (e1) (op (e5) (e2))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H17d. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H17a. % 47.33/47.58 cut (((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H17b]. % 47.33/47.58 cut (((op (e1) (op (e5) (e2))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H17e]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.33/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.58 congruence. % 47.33/47.58 apply zenon_H6. apply refl_equal. % 47.33/47.58 exact (zenon_He8 zenon_He1). % 47.33/47.58 apply zenon_H17b. apply refl_equal. % 47.33/47.58 apply zenon_H17b. apply refl_equal. % 47.33/47.58 apply zenon_H5. apply refl_equal. % 47.33/47.58 apply zenon_H17b. apply refl_equal. % 47.33/47.58 apply zenon_H17b. apply refl_equal. % 47.33/47.58 (* end of lemma zenon_L57_ *) % 47.33/47.58 assert (zenon_L58_ : ((op (e1) (e4)) = (e2)) -> ((op (e5) (e3)) = (e4)) -> (~((e2) = (op (e1) (op (e5) (e3))))) -> False). % 47.33/47.58 do 0 intro. intros zenon_H30 zenon_He9 zenon_H17f. % 47.33/47.58 elim (classic ((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3))))); [ zenon_intro zenon_H180 | zenon_intro zenon_H181 ]. % 47.33/47.58 cut (((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3)))) = ((e2) = (op (e1) (op (e5) (e3))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H17f. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H180. % 47.33/47.58 cut (((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H181]. % 47.33/47.58 cut (((op (e1) (op (e5) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H182]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e1) (e4)) = (e2)) = ((op (e1) (op (e5) (e3))) = (e2))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H182. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H30. % 47.33/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.58 cut (((op (e1) (e4)) = (op (e1) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H183]. % 47.33/47.58 congruence. % 47.33/47.58 elim (classic ((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3))))); [ zenon_intro zenon_H180 | zenon_intro zenon_H181 ]. % 47.33/47.58 cut (((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3)))) = ((op (e1) (e4)) = (op (e1) (op (e5) (e3))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H183. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H180. % 47.33/47.58 cut (((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H181]. % 47.33/47.58 cut (((op (e1) (op (e5) (e3))) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H184]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.33/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.58 congruence. % 47.33/47.58 apply zenon_H6. apply refl_equal. % 47.33/47.58 exact (zenon_Hf0 zenon_He9). % 47.33/47.58 apply zenon_H181. apply refl_equal. % 47.33/47.58 apply zenon_H181. apply refl_equal. % 47.33/47.58 apply zenon_H19. apply refl_equal. % 47.33/47.58 apply zenon_H181. apply refl_equal. % 47.33/47.58 apply zenon_H181. apply refl_equal. % 47.33/47.58 (* end of lemma zenon_L58_ *) % 47.33/47.58 assert (zenon_L59_ : ((op (e1) (e0)) = (e1)) -> ((op (e5) (e4)) = (e0)) -> (~((e1) = (op (e1) (op (e5) (e4))))) -> False). % 47.33/47.58 do 0 intro. intros zenon_H8 zenon_Hf1 zenon_H185. % 47.33/47.58 elim (classic ((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4))))); [ zenon_intro zenon_H186 | zenon_intro zenon_H187 ]. % 47.33/47.58 cut (((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4)))) = ((e1) = (op (e1) (op (e5) (e4))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H185. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H186. % 47.33/47.58 cut (((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H187]. % 47.33/47.58 cut (((op (e1) (op (e5) (e4))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H188]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e5) (e4))) = (e1))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H188. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H8. % 47.33/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.58 cut (((op (e1) (e0)) = (op (e1) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H189]. % 47.33/47.58 congruence. % 47.33/47.58 elim (classic ((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4))))); [ zenon_intro zenon_H186 | zenon_intro zenon_H187 ]. % 47.33/47.58 cut (((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4)))) = ((op (e1) (e0)) = (op (e1) (op (e5) (e4))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H189. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H186. % 47.33/47.58 cut (((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H187]. % 47.33/47.58 cut (((op (e1) (op (e5) (e4))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H18a]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.33/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.58 congruence. % 47.33/47.58 apply zenon_H6. apply refl_equal. % 47.33/47.58 exact (zenon_Hf8 zenon_Hf1). % 47.33/47.58 apply zenon_H187. apply refl_equal. % 47.33/47.58 apply zenon_H187. apply refl_equal. % 47.33/47.58 apply zenon_H6. apply refl_equal. % 47.33/47.58 apply zenon_H187. apply refl_equal. % 47.33/47.58 apply zenon_H187. apply refl_equal. % 47.33/47.58 (* end of lemma zenon_L59_ *) % 47.33/47.58 assert (zenon_L60_ : ((op (e1) (e2)) = (e4)) -> ((op (e5) (e5)) = (e2)) -> (~((e4) = (op (e1) (op (e5) (e5))))) -> False). % 47.33/47.58 do 0 intro. intros zenon_H1c zenon_Hf9 zenon_H18b. % 47.33/47.58 elim (classic ((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5))))); [ zenon_intro zenon_H18c | zenon_intro zenon_H18d ]. % 47.33/47.58 cut (((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5)))) = ((e4) = (op (e1) (op (e5) (e5))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H18b. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H18c. % 47.33/47.58 cut (((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H18d]. % 47.33/47.58 cut (((op (e1) (op (e5) (e5))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H18e]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e1) (e2)) = (e4)) = ((op (e1) (op (e5) (e5))) = (e4))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H18e. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H1c. % 47.33/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.33/47.58 cut (((op (e1) (e2)) = (op (e1) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H18f]. % 47.33/47.58 congruence. % 47.33/47.58 elim (classic ((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5))))); [ zenon_intro zenon_H18c | zenon_intro zenon_H18d ]. % 47.33/47.58 cut (((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5)))) = ((op (e1) (e2)) = (op (e1) (op (e5) (e5))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H18f. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H18c. % 47.33/47.58 cut (((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H18d]. % 47.33/47.58 cut (((op (e1) (op (e5) (e5))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H190]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.33/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.58 congruence. % 47.33/47.58 apply zenon_H6. apply refl_equal. % 47.33/47.58 exact (zenon_H100 zenon_Hf9). % 47.33/47.58 apply zenon_H18d. apply refl_equal. % 47.33/47.58 apply zenon_H18d. apply refl_equal. % 47.33/47.58 apply zenon_H1a. apply refl_equal. % 47.33/47.58 apply zenon_H18d. apply refl_equal. % 47.33/47.58 apply zenon_H18d. apply refl_equal. % 47.33/47.58 (* end of lemma zenon_L60_ *) % 47.33/47.58 assert (zenon_L61_ : ((op (e2) (e1)) = (e4)) -> ((op (e1) (e0)) = (e1)) -> (~((e4) = (op (e2) (op (e1) (e0))))) -> False). % 47.33/47.58 do 0 intro. intros zenon_H49 zenon_H8 zenon_H191. % 47.33/47.58 elim (classic ((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [ zenon_intro zenon_H192 | zenon_intro zenon_H193 ]. % 47.33/47.58 cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0)))) = ((e4) = (op (e2) (op (e1) (e0))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H191. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H192. % 47.33/47.58 cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H193]. % 47.33/47.58 cut (((op (e2) (op (e1) (e0))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H194]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e2) (e1)) = (e4)) = ((op (e2) (op (e1) (e0))) = (e4))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H194. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H49. % 47.33/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.33/47.58 cut (((op (e2) (e1)) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H195]. % 47.33/47.58 congruence. % 47.33/47.58 elim (classic ((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [ zenon_intro zenon_H192 | zenon_intro zenon_H193 ]. % 47.33/47.58 cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0)))) = ((op (e2) (e1)) = (op (e2) (op (e1) (e0))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H195. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H192. % 47.33/47.58 cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H193]. % 47.33/47.58 cut (((op (e2) (op (e1) (e0))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H196]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf]. % 47.33/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.58 congruence. % 47.33/47.58 apply zenon_H19. apply refl_equal. % 47.33/47.58 exact (zenon_Hf zenon_H8). % 47.33/47.58 apply zenon_H193. apply refl_equal. % 47.33/47.58 apply zenon_H193. apply refl_equal. % 47.33/47.58 apply zenon_H1a. apply refl_equal. % 47.33/47.58 apply zenon_H193. apply refl_equal. % 47.33/47.58 apply zenon_H193. apply refl_equal. % 47.33/47.58 (* end of lemma zenon_L61_ *) % 47.33/47.58 assert (zenon_L62_ : ((op (e2) (e0)) = (e2)) -> ((op (e1) (e1)) = (e0)) -> (~((e2) = (op (e2) (op (e1) (e1))))) -> False). % 47.33/47.58 do 0 intro. intros zenon_H41 zenon_H11 zenon_H197. % 47.33/47.58 elim (classic ((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [ zenon_intro zenon_H198 | zenon_intro zenon_H199 ]. % 47.33/47.58 cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1)))) = ((e2) = (op (e2) (op (e1) (e1))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H197. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H198. % 47.33/47.58 cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H199]. % 47.33/47.58 cut (((op (e2) (op (e1) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19a]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e1) (e1))) = (e2))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H19a. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H41. % 47.33/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.58 cut (((op (e2) (e0)) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H19b]. % 47.33/47.58 congruence. % 47.33/47.58 elim (classic ((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [ zenon_intro zenon_H198 | zenon_intro zenon_H199 ]. % 47.33/47.58 cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1)))) = ((op (e2) (e0)) = (op (e2) (op (e1) (e1))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H19b. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H198. % 47.33/47.58 cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H199]. % 47.33/47.58 cut (((op (e2) (op (e1) (e1))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H19c]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18]. % 47.33/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.58 congruence. % 47.33/47.58 apply zenon_H19. apply refl_equal. % 47.33/47.58 exact (zenon_H18 zenon_H11). % 47.33/47.58 apply zenon_H199. apply refl_equal. % 47.33/47.58 apply zenon_H199. apply refl_equal. % 47.33/47.58 apply zenon_H19. apply refl_equal. % 47.33/47.58 apply zenon_H199. apply refl_equal. % 47.33/47.58 apply zenon_H199. apply refl_equal. % 47.33/47.58 (* end of lemma zenon_L62_ *) % 47.33/47.58 assert (zenon_L63_ : ((op (e2) (e4)) = (e5)) -> ((op (e1) (e2)) = (e4)) -> (~((e5) = (op (e2) (op (e1) (e2))))) -> False). % 47.33/47.58 do 0 intro. intros zenon_H61 zenon_H1c zenon_H19d. % 47.33/47.58 elim (classic ((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [ zenon_intro zenon_H19e | zenon_intro zenon_H19f ]. % 47.33/47.58 cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2)))) = ((e5) = (op (e2) (op (e1) (e2))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H19d. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H19e. % 47.33/47.58 cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H19f]. % 47.33/47.58 cut (((op (e2) (op (e1) (e2))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H1a0]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e2) (e4)) = (e5)) = ((op (e2) (op (e1) (e2))) = (e5))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1a0. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H61. % 47.33/47.58 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.33/47.58 cut (((op (e2) (e4)) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1a1]. % 47.33/47.58 congruence. % 47.33/47.58 elim (classic ((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [ zenon_intro zenon_H19e | zenon_intro zenon_H19f ]. % 47.33/47.58 cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2)))) = ((op (e2) (e4)) = (op (e2) (op (e1) (e2))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1a1. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H19e. % 47.33/47.58 cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H19f]. % 47.33/47.58 cut (((op (e2) (op (e1) (e2))) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1a2]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.33/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.58 congruence. % 47.33/47.58 apply zenon_H19. apply refl_equal. % 47.33/47.58 exact (zenon_H23 zenon_H1c). % 47.33/47.58 apply zenon_H19f. apply refl_equal. % 47.33/47.58 apply zenon_H19f. apply refl_equal. % 47.33/47.58 apply zenon_H25. apply refl_equal. % 47.33/47.58 apply zenon_H19f. apply refl_equal. % 47.33/47.58 apply zenon_H19f. apply refl_equal. % 47.33/47.58 (* end of lemma zenon_L63_ *) % 47.33/47.58 assert (zenon_L64_ : ((op (e2) (e5)) = (e1)) -> ((op (e1) (e3)) = (e5)) -> (~((e1) = (op (e2) (op (e1) (e3))))) -> False). % 47.33/47.58 do 0 intro. intros zenon_H69 zenon_H27 zenon_H1a3. % 47.33/47.58 elim (classic ((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [ zenon_intro zenon_H1a4 | zenon_intro zenon_H1a5 ]. % 47.33/47.58 cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3)))) = ((e1) = (op (e2) (op (e1) (e3))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1a3. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H1a4. % 47.33/47.58 cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1a5]. % 47.33/47.58 cut (((op (e2) (op (e1) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H1a6]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e2) (e5)) = (e1)) = ((op (e2) (op (e1) (e3))) = (e1))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1a6. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H69. % 47.33/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.33/47.58 cut (((op (e2) (e5)) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1a7]. % 47.33/47.58 congruence. % 47.33/47.58 elim (classic ((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [ zenon_intro zenon_H1a4 | zenon_intro zenon_H1a5 ]. % 47.33/47.58 cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3)))) = ((op (e2) (e5)) = (op (e2) (op (e1) (e3))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1a7. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H1a4. % 47.33/47.58 cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1a5]. % 47.33/47.58 cut (((op (e2) (op (e1) (e3))) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H1a8]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.33/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.58 congruence. % 47.33/47.58 apply zenon_H19. apply refl_equal. % 47.33/47.58 exact (zenon_H2e zenon_H27). % 47.33/47.58 apply zenon_H1a5. apply refl_equal. % 47.33/47.58 apply zenon_H1a5. apply refl_equal. % 47.33/47.58 apply zenon_H6. apply refl_equal. % 47.33/47.58 apply zenon_H1a5. apply refl_equal. % 47.33/47.58 apply zenon_H1a5. apply refl_equal. % 47.33/47.58 (* end of lemma zenon_L64_ *) % 47.33/47.58 assert (zenon_L65_ : ((op (e2) (e2)) = (e3)) -> ((op (e1) (e4)) = (e2)) -> (~((e3) = (op (e2) (op (e1) (e4))))) -> False). % 47.33/47.58 do 0 intro. intros zenon_H51 zenon_H30 zenon_H1a9. % 47.33/47.58 elim (classic ((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4))))); [ zenon_intro zenon_H1aa | zenon_intro zenon_H1ab ]. % 47.33/47.58 cut (((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4)))) = ((e3) = (op (e2) (op (e1) (e4))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1a9. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H1aa. % 47.33/47.58 cut (((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1ab]. % 47.33/47.58 cut (((op (e2) (op (e1) (e4))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1ac]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e2) (e2)) = (e3)) = ((op (e2) (op (e1) (e4))) = (e3))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1ac. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H51. % 47.33/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.33/47.58 cut (((op (e2) (e2)) = (op (e2) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1ad]. % 47.33/47.58 congruence. % 47.33/47.58 elim (classic ((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4))))); [ zenon_intro zenon_H1aa | zenon_intro zenon_H1ab ]. % 47.33/47.58 cut (((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4)))) = ((op (e2) (e2)) = (op (e2) (op (e1) (e4))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1ad. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H1aa. % 47.33/47.58 cut (((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1ab]. % 47.33/47.58 cut (((op (e2) (op (e1) (e4))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1ae]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.33/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.58 congruence. % 47.33/47.58 apply zenon_H19. apply refl_equal. % 47.33/47.58 exact (zenon_H37 zenon_H30). % 47.33/47.58 apply zenon_H1ab. apply refl_equal. % 47.33/47.58 apply zenon_H1ab. apply refl_equal. % 47.33/47.58 apply zenon_H24. apply refl_equal. % 47.33/47.58 apply zenon_H1ab. apply refl_equal. % 47.33/47.58 apply zenon_H1ab. apply refl_equal. % 47.33/47.58 (* end of lemma zenon_L65_ *) % 47.33/47.58 assert (zenon_L66_ : ((op (e2) (e3)) = (e0)) -> ((op (e1) (e5)) = (e3)) -> (~((e0) = (op (e2) (op (e1) (e5))))) -> False). % 47.33/47.58 do 0 intro. intros zenon_H59 zenon_H39 zenon_H1af. % 47.33/47.58 elim (classic ((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5))))); [ zenon_intro zenon_H1b0 | zenon_intro zenon_H1b1 ]. % 47.33/47.58 cut (((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5)))) = ((e0) = (op (e2) (op (e1) (e5))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1af. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H1b0. % 47.33/47.58 cut (((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1b1]. % 47.33/47.58 cut (((op (e2) (op (e1) (e5))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H1b2]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e2) (e3)) = (e0)) = ((op (e2) (op (e1) (e5))) = (e0))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1b2. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H59. % 47.33/47.58 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.33/47.58 cut (((op (e2) (e3)) = (op (e2) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1b3]. % 47.33/47.58 congruence. % 47.33/47.58 elim (classic ((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5))))); [ zenon_intro zenon_H1b0 | zenon_intro zenon_H1b1 ]. % 47.33/47.58 cut (((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5)))) = ((op (e2) (e3)) = (op (e2) (op (e1) (e5))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1b3. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H1b0. % 47.33/47.58 cut (((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1b1]. % 47.33/47.58 cut (((op (e2) (op (e1) (e5))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1b4]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.33/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.58 congruence. % 47.33/47.58 apply zenon_H19. apply refl_equal. % 47.33/47.58 exact (zenon_H40 zenon_H39). % 47.33/47.58 apply zenon_H1b1. apply refl_equal. % 47.33/47.58 apply zenon_H1b1. apply refl_equal. % 47.33/47.58 apply zenon_H5. apply refl_equal. % 47.33/47.58 apply zenon_H1b1. apply refl_equal. % 47.33/47.58 apply zenon_H1b1. apply refl_equal. % 47.33/47.58 (* end of lemma zenon_L66_ *) % 47.33/47.58 assert (zenon_L67_ : ((op (e2) (e2)) = (e3)) -> ((op (e2) (e0)) = (e2)) -> (~((e3) = (op (e2) (op (e2) (e0))))) -> False). % 47.33/47.58 do 0 intro. intros zenon_H51 zenon_H41 zenon_H1b5. % 47.33/47.58 elim (classic ((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [ zenon_intro zenon_H1b6 | zenon_intro zenon_H1b7 ]. % 47.33/47.58 cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0)))) = ((e3) = (op (e2) (op (e2) (e0))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1b5. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H1b6. % 47.33/47.58 cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1b7]. % 47.33/47.58 cut (((op (e2) (op (e2) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1b8]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e2) (e2)) = (e3)) = ((op (e2) (op (e2) (e0))) = (e3))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1b8. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H51. % 47.33/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.33/47.58 cut (((op (e2) (e2)) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1b9]. % 47.33/47.58 congruence. % 47.33/47.58 elim (classic ((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [ zenon_intro zenon_H1b6 | zenon_intro zenon_H1b7 ]. % 47.33/47.58 cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0)))) = ((op (e2) (e2)) = (op (e2) (op (e2) (e0))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1b9. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H1b6. % 47.33/47.58 cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1b7]. % 47.33/47.58 cut (((op (e2) (op (e2) (e0))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1ba]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.33/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.58 congruence. % 47.33/47.58 apply zenon_H19. apply refl_equal. % 47.33/47.58 exact (zenon_H48 zenon_H41). % 47.33/47.58 apply zenon_H1b7. apply refl_equal. % 47.33/47.58 apply zenon_H1b7. apply refl_equal. % 47.33/47.58 apply zenon_H24. apply refl_equal. % 47.33/47.58 apply zenon_H1b7. apply refl_equal. % 47.33/47.58 apply zenon_H1b7. apply refl_equal. % 47.33/47.58 (* end of lemma zenon_L67_ *) % 47.33/47.58 assert (zenon_L68_ : ((op (e2) (e4)) = (e5)) -> ((op (e2) (e1)) = (e4)) -> (~((e5) = (op (e2) (op (e2) (e1))))) -> False). % 47.33/47.58 do 0 intro. intros zenon_H61 zenon_H49 zenon_H1bb. % 47.33/47.58 elim (classic ((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [ zenon_intro zenon_H1bc | zenon_intro zenon_H1bd ]. % 47.33/47.58 cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1)))) = ((e5) = (op (e2) (op (e2) (e1))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1bb. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H1bc. % 47.33/47.58 cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1bd]. % 47.33/47.58 cut (((op (e2) (op (e2) (e1))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H1be]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e2) (e4)) = (e5)) = ((op (e2) (op (e2) (e1))) = (e5))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1be. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H61. % 47.33/47.58 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.33/47.58 cut (((op (e2) (e4)) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1bf]. % 47.33/47.58 congruence. % 47.33/47.58 elim (classic ((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [ zenon_intro zenon_H1bc | zenon_intro zenon_H1bd ]. % 47.33/47.58 cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1)))) = ((op (e2) (e4)) = (op (e2) (op (e2) (e1))))). % 47.33/47.58 intro zenon_D_pnotp. % 47.33/47.58 apply zenon_H1bf. % 47.33/47.58 rewrite <- zenon_D_pnotp. % 47.33/47.58 exact zenon_H1bc. % 47.33/47.58 cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1bd]. % 47.33/47.58 cut (((op (e2) (op (e2) (e1))) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1c0]. % 47.33/47.58 congruence. % 47.33/47.58 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.33/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.33/47.58 congruence. % 47.33/47.58 apply zenon_H19. apply refl_equal. % 47.33/47.58 exact (zenon_H50 zenon_H49). % 47.33/47.58 apply zenon_H1bd. apply refl_equal. % 47.33/47.58 apply zenon_H1bd. apply refl_equal. % 47.33/47.58 apply zenon_H25. apply refl_equal. % 47.33/47.58 apply zenon_H1bd. apply refl_equal. % 47.33/47.58 apply zenon_H1bd. apply refl_equal. % 47.33/47.58 (* end of lemma zenon_L68_ *) % 47.33/47.58 assert (zenon_L69_ : ((op (e2) (e3)) = (e0)) -> ((op (e2) (e2)) = (e3)) -> (~((e0) = (op (e2) (op (e2) (e2))))) -> False). % 47.33/47.58 do 0 intro. intros zenon_H59 zenon_H51 zenon_H1c1. % 47.33/47.58 elim (classic ((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H1c3 ]. % 47.41/47.58 cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2)))) = ((e0) = (op (e2) (op (e2) (e2))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1c1. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1c2. % 47.41/47.58 cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1c3]. % 47.41/47.58 cut (((op (e2) (op (e2) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H1c4]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e3)) = (e0)) = ((op (e2) (op (e2) (e2))) = (e0))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1c4. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H59. % 47.41/47.58 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.41/47.58 cut (((op (e2) (e3)) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1c5]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H1c3 ]. % 47.41/47.58 cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2)))) = ((op (e2) (e3)) = (op (e2) (op (e2) (e2))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1c5. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1c2. % 47.41/47.58 cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1c3]. % 47.41/47.58 cut (((op (e2) (op (e2) (e2))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1c6]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_H58 zenon_H51). % 47.41/47.58 apply zenon_H1c3. apply refl_equal. % 47.41/47.58 apply zenon_H1c3. apply refl_equal. % 47.41/47.58 apply zenon_H5. apply refl_equal. % 47.41/47.58 apply zenon_H1c3. apply refl_equal. % 47.41/47.58 apply zenon_H1c3. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L69_ *) % 47.41/47.58 assert (zenon_L70_ : ((op (e2) (e0)) = (e2)) -> ((op (e2) (e3)) = (e0)) -> (~((e2) = (op (e2) (op (e2) (e3))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H41 zenon_H59 zenon_H1c7. % 47.41/47.58 elim (classic ((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H1c9 ]. % 47.41/47.58 cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3)))) = ((e2) = (op (e2) (op (e2) (e3))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1c7. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1c8. % 47.41/47.58 cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1c9]. % 47.41/47.58 cut (((op (e2) (op (e2) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1ca]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e2) (e3))) = (e2))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1ca. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H41. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 cut (((op (e2) (e0)) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1cb]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H1c9 ]. % 47.41/47.58 cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3)))) = ((op (e2) (e0)) = (op (e2) (op (e2) (e3))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1cb. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1c8. % 47.41/47.58 cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1c9]. % 47.41/47.58 cut (((op (e2) (op (e2) (e3))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1cc]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_H60 zenon_H59). % 47.41/47.58 apply zenon_H1c9. apply refl_equal. % 47.41/47.58 apply zenon_H1c9. apply refl_equal. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 apply zenon_H1c9. apply refl_equal. % 47.41/47.58 apply zenon_H1c9. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L70_ *) % 47.41/47.58 assert (zenon_L71_ : ((op (e2) (e5)) = (e1)) -> ((op (e2) (e4)) = (e5)) -> (~((e1) = (op (e2) (op (e2) (e4))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H69 zenon_H61 zenon_H1cd. % 47.41/47.58 elim (classic ((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4))))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1cf ]. % 47.41/47.58 cut (((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4)))) = ((e1) = (op (e2) (op (e2) (e4))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1cd. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1ce. % 47.41/47.58 cut (((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1cf]. % 47.41/47.58 cut (((op (e2) (op (e2) (e4))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H1d0]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e5)) = (e1)) = ((op (e2) (op (e2) (e4))) = (e1))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1d0. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H69. % 47.41/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.41/47.58 cut (((op (e2) (e5)) = (op (e2) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1d1]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4))))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1cf ]. % 47.41/47.58 cut (((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4)))) = ((op (e2) (e5)) = (op (e2) (op (e2) (e4))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1d1. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1ce. % 47.41/47.58 cut (((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1cf]. % 47.41/47.58 cut (((op (e2) (op (e2) (e4))) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H1d2]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_H68 zenon_H61). % 47.41/47.58 apply zenon_H1cf. apply refl_equal. % 47.41/47.58 apply zenon_H1cf. apply refl_equal. % 47.41/47.58 apply zenon_H6. apply refl_equal. % 47.41/47.58 apply zenon_H1cf. apply refl_equal. % 47.41/47.58 apply zenon_H1cf. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L71_ *) % 47.41/47.58 assert (zenon_L72_ : ((op (e2) (e1)) = (e4)) -> ((op (e2) (e5)) = (e1)) -> (~((e4) = (op (e2) (op (e2) (e5))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H49 zenon_H69 zenon_H1d3. % 47.41/47.58 elim (classic ((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5))))); [ zenon_intro zenon_H1d4 | zenon_intro zenon_H1d5 ]. % 47.41/47.58 cut (((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5)))) = ((e4) = (op (e2) (op (e2) (e5))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1d3. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1d4. % 47.41/47.58 cut (((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1d5]. % 47.41/47.58 cut (((op (e2) (op (e2) (e5))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1d6]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e1)) = (e4)) = ((op (e2) (op (e2) (e5))) = (e4))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1d6. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H49. % 47.41/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.41/47.58 cut (((op (e2) (e1)) = (op (e2) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1d7]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5))))); [ zenon_intro zenon_H1d4 | zenon_intro zenon_H1d5 ]. % 47.41/47.58 cut (((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5)))) = ((op (e2) (e1)) = (op (e2) (op (e2) (e5))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1d7. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1d4. % 47.41/47.58 cut (((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1d5]. % 47.41/47.58 cut (((op (e2) (op (e2) (e5))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1d8]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_H70 zenon_H69). % 47.41/47.58 apply zenon_H1d5. apply refl_equal. % 47.41/47.58 apply zenon_H1d5. apply refl_equal. % 47.41/47.58 apply zenon_H1a. apply refl_equal. % 47.41/47.58 apply zenon_H1d5. apply refl_equal. % 47.41/47.58 apply zenon_H1d5. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L72_ *) % 47.41/47.58 assert (zenon_L73_ : ((op (e2) (e4)) = (e5)) -> ((op (e4) (e0)) = (e4)) -> (~((e5) = (op (e2) (op (e4) (e0))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H61 zenon_Ha1 zenon_H1d9. % 47.41/47.58 elim (classic ((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0))))); [ zenon_intro zenon_H1da | zenon_intro zenon_H1db ]. % 47.41/47.58 cut (((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0)))) = ((e5) = (op (e2) (op (e4) (e0))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1d9. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1da. % 47.41/47.58 cut (((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1db]. % 47.41/47.58 cut (((op (e2) (op (e4) (e0))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H1dc]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e4)) = (e5)) = ((op (e2) (op (e4) (e0))) = (e5))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1dc. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H61. % 47.41/47.58 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.41/47.58 cut (((op (e2) (e4)) = (op (e2) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0))))); [ zenon_intro zenon_H1da | zenon_intro zenon_H1db ]. % 47.41/47.58 cut (((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0)))) = ((op (e2) (e4)) = (op (e2) (op (e4) (e0))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1dd. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1da. % 47.41/47.58 cut (((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1db]. % 47.41/47.58 cut (((op (e2) (op (e4) (e0))) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1de]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_Ha8 zenon_Ha1). % 47.41/47.58 apply zenon_H1db. apply refl_equal. % 47.41/47.58 apply zenon_H1db. apply refl_equal. % 47.41/47.58 apply zenon_H25. apply refl_equal. % 47.41/47.58 apply zenon_H1db. apply refl_equal. % 47.41/47.58 apply zenon_H1db. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L73_ *) % 47.41/47.58 assert (zenon_L74_ : ((op (e2) (e2)) = (e3)) -> ((op (e4) (e1)) = (e2)) -> (~((e3) = (op (e2) (op (e4) (e1))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H51 zenon_Ha9 zenon_H1df. % 47.41/47.58 elim (classic ((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1))))); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e1 ]. % 47.41/47.58 cut (((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1)))) = ((e3) = (op (e2) (op (e4) (e1))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1df. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1e0. % 47.41/47.58 cut (((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1e1]. % 47.41/47.58 cut (((op (e2) (op (e4) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e2]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e2)) = (e3)) = ((op (e2) (op (e4) (e1))) = (e3))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1e2. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H51. % 47.41/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.41/47.58 cut (((op (e2) (e2)) = (op (e2) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1e3]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1))))); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e1 ]. % 47.41/47.58 cut (((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1)))) = ((op (e2) (e2)) = (op (e2) (op (e4) (e1))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1e3. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1e0. % 47.41/47.58 cut (((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1e1]. % 47.41/47.58 cut (((op (e2) (op (e4) (e1))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1e4]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_Hb0 zenon_Ha9). % 47.41/47.58 apply zenon_H1e1. apply refl_equal. % 47.41/47.58 apply zenon_H1e1. apply refl_equal. % 47.41/47.58 apply zenon_H24. apply refl_equal. % 47.41/47.58 apply zenon_H1e1. apply refl_equal. % 47.41/47.58 apply zenon_H1e1. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L74_ *) % 47.41/47.58 assert (zenon_L75_ : ((op (e2) (e5)) = (e1)) -> ((op (e4) (e2)) = (e5)) -> (~((e1) = (op (e2) (op (e4) (e2))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H69 zenon_Hb1 zenon_H1e5. % 47.41/47.58 elim (classic ((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2))))); [ zenon_intro zenon_H1e6 | zenon_intro zenon_H1e7 ]. % 47.41/47.58 cut (((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2)))) = ((e1) = (op (e2) (op (e4) (e2))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1e5. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1e6. % 47.41/47.58 cut (((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1e7]. % 47.41/47.58 cut (((op (e2) (op (e4) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H1e8]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e5)) = (e1)) = ((op (e2) (op (e4) (e2))) = (e1))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1e8. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H69. % 47.41/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.41/47.58 cut (((op (e2) (e5)) = (op (e2) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1e9]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2))))); [ zenon_intro zenon_H1e6 | zenon_intro zenon_H1e7 ]. % 47.41/47.58 cut (((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2)))) = ((op (e2) (e5)) = (op (e2) (op (e4) (e2))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1e9. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1e6. % 47.41/47.58 cut (((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1e7]. % 47.41/47.58 cut (((op (e2) (op (e4) (e2))) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H1ea]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_Hb8 zenon_Hb1). % 47.41/47.58 apply zenon_H1e7. apply refl_equal. % 47.41/47.58 apply zenon_H1e7. apply refl_equal. % 47.41/47.58 apply zenon_H6. apply refl_equal. % 47.41/47.58 apply zenon_H1e7. apply refl_equal. % 47.41/47.58 apply zenon_H1e7. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L75_ *) % 47.41/47.58 assert (zenon_L76_ : ((op (e2) (e1)) = (e4)) -> ((op (e4) (e3)) = (e1)) -> (~((e4) = (op (e2) (op (e4) (e3))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H49 zenon_Hb9 zenon_H1eb. % 47.41/47.58 elim (classic ((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3))))); [ zenon_intro zenon_H1ec | zenon_intro zenon_H1ed ]. % 47.41/47.58 cut (((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3)))) = ((e4) = (op (e2) (op (e4) (e3))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1eb. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1ec. % 47.41/47.58 cut (((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1ed]. % 47.41/47.58 cut (((op (e2) (op (e4) (e3))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1ee]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e1)) = (e4)) = ((op (e2) (op (e4) (e3))) = (e4))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1ee. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H49. % 47.41/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.41/47.58 cut (((op (e2) (e1)) = (op (e2) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1ef]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3))))); [ zenon_intro zenon_H1ec | zenon_intro zenon_H1ed ]. % 47.41/47.58 cut (((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3)))) = ((op (e2) (e1)) = (op (e2) (op (e4) (e3))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1ef. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1ec. % 47.41/47.58 cut (((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1ed]. % 47.41/47.58 cut (((op (e2) (op (e4) (e3))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1f0]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_Hc0 zenon_Hb9). % 47.41/47.58 apply zenon_H1ed. apply refl_equal. % 47.41/47.58 apply zenon_H1ed. apply refl_equal. % 47.41/47.58 apply zenon_H1a. apply refl_equal. % 47.41/47.58 apply zenon_H1ed. apply refl_equal. % 47.41/47.58 apply zenon_H1ed. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L76_ *) % 47.41/47.58 assert (zenon_L77_ : ((op (e2) (e3)) = (e0)) -> ((op (e4) (e4)) = (e3)) -> (~((e0) = (op (e2) (op (e4) (e4))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H59 zenon_Hc1 zenon_H1f1. % 47.41/47.58 elim (classic ((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4))))); [ zenon_intro zenon_H1f2 | zenon_intro zenon_H1f3 ]. % 47.41/47.58 cut (((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4)))) = ((e0) = (op (e2) (op (e4) (e4))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1f1. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1f2. % 47.41/47.58 cut (((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1f3]. % 47.41/47.58 cut (((op (e2) (op (e4) (e4))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H1f4]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e3)) = (e0)) = ((op (e2) (op (e4) (e4))) = (e0))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1f4. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H59. % 47.41/47.58 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.41/47.58 cut (((op (e2) (e3)) = (op (e2) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1f5]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4))))); [ zenon_intro zenon_H1f2 | zenon_intro zenon_H1f3 ]. % 47.41/47.58 cut (((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4)))) = ((op (e2) (e3)) = (op (e2) (op (e4) (e4))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1f5. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1f2. % 47.41/47.58 cut (((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1f3]. % 47.41/47.58 cut (((op (e2) (op (e4) (e4))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1f6]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_Hc8 zenon_Hc1). % 47.41/47.58 apply zenon_H1f3. apply refl_equal. % 47.41/47.58 apply zenon_H1f3. apply refl_equal. % 47.41/47.58 apply zenon_H5. apply refl_equal. % 47.41/47.58 apply zenon_H1f3. apply refl_equal. % 47.41/47.58 apply zenon_H1f3. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L77_ *) % 47.41/47.58 assert (zenon_L78_ : ((op (e2) (e0)) = (e2)) -> ((op (e4) (e5)) = (e0)) -> (~((e2) = (op (e2) (op (e4) (e5))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H41 zenon_Hc9 zenon_H1f7. % 47.41/47.58 elim (classic ((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5))))); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H1f9 ]. % 47.41/47.58 cut (((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5)))) = ((e2) = (op (e2) (op (e4) (e5))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1f7. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1f8. % 47.41/47.58 cut (((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1f9]. % 47.41/47.58 cut (((op (e2) (op (e4) (e5))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1fa]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e4) (e5))) = (e2))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1fa. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H41. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 cut (((op (e2) (e0)) = (op (e2) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1fb]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5))))); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H1f9 ]. % 47.41/47.58 cut (((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5)))) = ((op (e2) (e0)) = (op (e2) (op (e4) (e5))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1fb. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1f8. % 47.41/47.58 cut (((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1f9]. % 47.41/47.58 cut (((op (e2) (op (e4) (e5))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1fc]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_Hd0 zenon_Hc9). % 47.41/47.58 apply zenon_H1f9. apply refl_equal. % 47.41/47.58 apply zenon_H1f9. apply refl_equal. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 apply zenon_H1f9. apply refl_equal. % 47.41/47.58 apply zenon_H1f9. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L78_ *) % 47.41/47.58 assert (zenon_L79_ : ((op (e2) (e5)) = (e1)) -> ((op (e5) (e0)) = (e5)) -> (~((e1) = (op (e2) (op (e5) (e0))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H69 zenon_Hd1 zenon_H1fd. % 47.41/47.58 elim (classic ((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0))))); [ zenon_intro zenon_H1fe | zenon_intro zenon_H1ff ]. % 47.41/47.58 cut (((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0)))) = ((e1) = (op (e2) (op (e5) (e0))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H1fd. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1fe. % 47.41/47.58 cut (((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1ff]. % 47.41/47.58 cut (((op (e2) (op (e5) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H200]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e5)) = (e1)) = ((op (e2) (op (e5) (e0))) = (e1))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H200. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H69. % 47.41/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.41/47.58 cut (((op (e2) (e5)) = (op (e2) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H201]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0))))); [ zenon_intro zenon_H1fe | zenon_intro zenon_H1ff ]. % 47.41/47.58 cut (((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0)))) = ((op (e2) (e5)) = (op (e2) (op (e5) (e0))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H201. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H1fe. % 47.41/47.58 cut (((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1ff]. % 47.41/47.58 cut (((op (e2) (op (e5) (e0))) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H202]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_Hd8 zenon_Hd1). % 47.41/47.58 apply zenon_H1ff. apply refl_equal. % 47.41/47.58 apply zenon_H1ff. apply refl_equal. % 47.41/47.58 apply zenon_H6. apply refl_equal. % 47.41/47.58 apply zenon_H1ff. apply refl_equal. % 47.41/47.58 apply zenon_H1ff. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L79_ *) % 47.41/47.58 assert (zenon_L80_ : ((op (e2) (e3)) = (e0)) -> ((op (e5) (e1)) = (e3)) -> (~((e0) = (op (e2) (op (e5) (e1))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H59 zenon_Hd9 zenon_H203. % 47.41/47.58 elim (classic ((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1))))); [ zenon_intro zenon_H204 | zenon_intro zenon_H205 ]. % 47.41/47.58 cut (((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1)))) = ((e0) = (op (e2) (op (e5) (e1))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H203. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H204. % 47.41/47.58 cut (((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H205]. % 47.41/47.58 cut (((op (e2) (op (e5) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H206]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e3)) = (e0)) = ((op (e2) (op (e5) (e1))) = (e0))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H206. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H59. % 47.41/47.58 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.41/47.58 cut (((op (e2) (e3)) = (op (e2) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H207]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1))))); [ zenon_intro zenon_H204 | zenon_intro zenon_H205 ]. % 47.41/47.58 cut (((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1)))) = ((op (e2) (e3)) = (op (e2) (op (e5) (e1))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H207. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H204. % 47.41/47.58 cut (((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H205]. % 47.41/47.58 cut (((op (e2) (op (e5) (e1))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H208]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_He0 zenon_Hd9). % 47.41/47.58 apply zenon_H205. apply refl_equal. % 47.41/47.58 apply zenon_H205. apply refl_equal. % 47.41/47.58 apply zenon_H5. apply refl_equal. % 47.41/47.58 apply zenon_H205. apply refl_equal. % 47.41/47.58 apply zenon_H205. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L80_ *) % 47.41/47.58 assert (zenon_L81_ : ((op (e2) (e1)) = (e4)) -> ((op (e5) (e2)) = (e1)) -> (~((e4) = (op (e2) (op (e5) (e2))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H49 zenon_He1 zenon_H209. % 47.41/47.58 elim (classic ((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2))))); [ zenon_intro zenon_H20a | zenon_intro zenon_H20b ]. % 47.41/47.58 cut (((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2)))) = ((e4) = (op (e2) (op (e5) (e2))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H209. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H20a. % 47.41/47.58 cut (((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H20b]. % 47.41/47.58 cut (((op (e2) (op (e5) (e2))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H20c]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e1)) = (e4)) = ((op (e2) (op (e5) (e2))) = (e4))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H20c. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H49. % 47.41/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.41/47.58 cut (((op (e2) (e1)) = (op (e2) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H20d]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2))))); [ zenon_intro zenon_H20a | zenon_intro zenon_H20b ]. % 47.41/47.58 cut (((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2)))) = ((op (e2) (e1)) = (op (e2) (op (e5) (e2))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H20d. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H20a. % 47.41/47.58 cut (((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H20b]. % 47.41/47.58 cut (((op (e2) (op (e5) (e2))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H20e]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_He8 zenon_He1). % 47.41/47.58 apply zenon_H20b. apply refl_equal. % 47.41/47.58 apply zenon_H20b. apply refl_equal. % 47.41/47.58 apply zenon_H1a. apply refl_equal. % 47.41/47.58 apply zenon_H20b. apply refl_equal. % 47.41/47.58 apply zenon_H20b. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L81_ *) % 47.41/47.58 assert (zenon_L82_ : ((op (e2) (e4)) = (e5)) -> ((op (e5) (e3)) = (e4)) -> (~((e5) = (op (e2) (op (e5) (e3))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H61 zenon_He9 zenon_H20f. % 47.41/47.58 elim (classic ((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3))))); [ zenon_intro zenon_H210 | zenon_intro zenon_H211 ]. % 47.41/47.58 cut (((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3)))) = ((e5) = (op (e2) (op (e5) (e3))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H20f. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H210. % 47.41/47.58 cut (((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H211]. % 47.41/47.58 cut (((op (e2) (op (e5) (e3))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H212]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e4)) = (e5)) = ((op (e2) (op (e5) (e3))) = (e5))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H212. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H61. % 47.41/47.58 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.41/47.58 cut (((op (e2) (e4)) = (op (e2) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H213]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3))))); [ zenon_intro zenon_H210 | zenon_intro zenon_H211 ]. % 47.41/47.58 cut (((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3)))) = ((op (e2) (e4)) = (op (e2) (op (e5) (e3))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H213. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H210. % 47.41/47.58 cut (((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H211]. % 47.41/47.58 cut (((op (e2) (op (e5) (e3))) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H214]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_Hf0 zenon_He9). % 47.41/47.58 apply zenon_H211. apply refl_equal. % 47.41/47.58 apply zenon_H211. apply refl_equal. % 47.41/47.58 apply zenon_H25. apply refl_equal. % 47.41/47.58 apply zenon_H211. apply refl_equal. % 47.41/47.58 apply zenon_H211. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L82_ *) % 47.41/47.58 assert (zenon_L83_ : ((op (e2) (e0)) = (e2)) -> ((op (e5) (e4)) = (e0)) -> (~((e2) = (op (e2) (op (e5) (e4))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H41 zenon_Hf1 zenon_H215. % 47.41/47.58 elim (classic ((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4))))); [ zenon_intro zenon_H216 | zenon_intro zenon_H217 ]. % 47.41/47.58 cut (((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4)))) = ((e2) = (op (e2) (op (e5) (e4))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H215. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H216. % 47.41/47.58 cut (((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H217]. % 47.41/47.58 cut (((op (e2) (op (e5) (e4))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H218]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e5) (e4))) = (e2))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H218. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H41. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 cut (((op (e2) (e0)) = (op (e2) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H219]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4))))); [ zenon_intro zenon_H216 | zenon_intro zenon_H217 ]. % 47.41/47.58 cut (((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4)))) = ((op (e2) (e0)) = (op (e2) (op (e5) (e4))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H219. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H216. % 47.41/47.58 cut (((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H217]. % 47.41/47.58 cut (((op (e2) (op (e5) (e4))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H21a]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_Hf8 zenon_Hf1). % 47.41/47.58 apply zenon_H217. apply refl_equal. % 47.41/47.58 apply zenon_H217. apply refl_equal. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 apply zenon_H217. apply refl_equal. % 47.41/47.58 apply zenon_H217. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L83_ *) % 47.41/47.58 assert (zenon_L84_ : ((op (e2) (e2)) = (e3)) -> ((op (e5) (e5)) = (e2)) -> (~((e3) = (op (e2) (op (e5) (e5))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H51 zenon_Hf9 zenon_H21b. % 47.41/47.58 elim (classic ((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5))))); [ zenon_intro zenon_H21c | zenon_intro zenon_H21d ]. % 47.41/47.58 cut (((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5)))) = ((e3) = (op (e2) (op (e5) (e5))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H21b. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H21c. % 47.41/47.58 cut (((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H21d]. % 47.41/47.58 cut (((op (e2) (op (e5) (e5))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H21e]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e2) (e2)) = (e3)) = ((op (e2) (op (e5) (e5))) = (e3))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H21e. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H51. % 47.41/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.41/47.58 cut (((op (e2) (e2)) = (op (e2) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H21f]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5))))); [ zenon_intro zenon_H21c | zenon_intro zenon_H21d ]. % 47.41/47.58 cut (((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5)))) = ((op (e2) (e2)) = (op (e2) (op (e5) (e5))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H21f. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H21c. % 47.41/47.58 cut (((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H21d]. % 47.41/47.58 cut (((op (e2) (op (e5) (e5))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H220]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 exact (zenon_H100 zenon_Hf9). % 47.41/47.58 apply zenon_H21d. apply refl_equal. % 47.41/47.58 apply zenon_H21d. apply refl_equal. % 47.41/47.58 apply zenon_H24. apply refl_equal. % 47.41/47.58 apply zenon_H21d. apply refl_equal. % 47.41/47.58 apply zenon_H21d. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L84_ *) % 47.41/47.58 assert (zenon_L85_ : ((op (e3) (e1)) = (e5)) -> ((op (e1) (e0)) = (e1)) -> (~((e5) = (op (e3) (op (e1) (e0))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H79 zenon_H8 zenon_H221. % 47.41/47.58 elim (classic ((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [ zenon_intro zenon_H222 | zenon_intro zenon_H223 ]. % 47.41/47.58 cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0)))) = ((e5) = (op (e3) (op (e1) (e0))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H221. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H222. % 47.41/47.58 cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H223]. % 47.41/47.58 cut (((op (e3) (op (e1) (e0))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H224]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e3) (e1)) = (e5)) = ((op (e3) (op (e1) (e0))) = (e5))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H224. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H79. % 47.41/47.58 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.41/47.58 cut (((op (e3) (e1)) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H225]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [ zenon_intro zenon_H222 | zenon_intro zenon_H223 ]. % 47.41/47.58 cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0)))) = ((op (e3) (e1)) = (op (e3) (op (e1) (e0))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H225. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H222. % 47.41/47.58 cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H223]. % 47.41/47.58 cut (((op (e3) (op (e1) (e0))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H226]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf]. % 47.41/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H24. apply refl_equal. % 47.41/47.58 exact (zenon_Hf zenon_H8). % 47.41/47.58 apply zenon_H223. apply refl_equal. % 47.41/47.58 apply zenon_H223. apply refl_equal. % 47.41/47.58 apply zenon_H25. apply refl_equal. % 47.41/47.58 apply zenon_H223. apply refl_equal. % 47.41/47.58 apply zenon_H223. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L85_ *) % 47.41/47.58 assert (zenon_L86_ : ((op (e3) (e0)) = (e3)) -> ((op (e1) (e1)) = (e0)) -> (~((e3) = (op (e3) (op (e1) (e1))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H71 zenon_H11 zenon_H227. % 47.41/47.58 elim (classic ((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [ zenon_intro zenon_H228 | zenon_intro zenon_H229 ]. % 47.41/47.58 cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1)))) = ((e3) = (op (e3) (op (e1) (e1))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H227. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H228. % 47.41/47.58 cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H229]. % 47.41/47.58 cut (((op (e3) (op (e1) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H22a]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e1) (e1))) = (e3))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H22a. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H71. % 47.41/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.41/47.58 cut (((op (e3) (e0)) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H22b]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [ zenon_intro zenon_H228 | zenon_intro zenon_H229 ]. % 47.41/47.58 cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1)))) = ((op (e3) (e0)) = (op (e3) (op (e1) (e1))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H22b. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H228. % 47.41/47.58 cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H229]. % 47.41/47.58 cut (((op (e3) (op (e1) (e1))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H22c]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18]. % 47.41/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H24. apply refl_equal. % 47.41/47.58 exact (zenon_H18 zenon_H11). % 47.41/47.58 apply zenon_H229. apply refl_equal. % 47.41/47.58 apply zenon_H229. apply refl_equal. % 47.41/47.58 apply zenon_H24. apply refl_equal. % 47.41/47.58 apply zenon_H229. apply refl_equal. % 47.41/47.58 apply zenon_H229. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L86_ *) % 47.41/47.58 assert (zenon_L87_ : ((op (e3) (e4)) = (e1)) -> ((op (e1) (e2)) = (e4)) -> (~((e1) = (op (e3) (op (e1) (e2))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H91 zenon_H1c zenon_H22d. % 47.41/47.58 elim (classic ((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [ zenon_intro zenon_H22e | zenon_intro zenon_H22f ]. % 47.41/47.58 cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2)))) = ((e1) = (op (e3) (op (e1) (e2))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H22d. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H22e. % 47.41/47.58 cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H22f]. % 47.41/47.58 cut (((op (e3) (op (e1) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H230]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e3) (e4)) = (e1)) = ((op (e3) (op (e1) (e2))) = (e1))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H230. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H91. % 47.41/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.41/47.58 cut (((op (e3) (e4)) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H231]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [ zenon_intro zenon_H22e | zenon_intro zenon_H22f ]. % 47.41/47.58 cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2)))) = ((op (e3) (e4)) = (op (e3) (op (e1) (e2))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H231. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H22e. % 47.41/47.58 cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H22f]. % 47.41/47.58 cut (((op (e3) (op (e1) (e2))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H232]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.41/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H24. apply refl_equal. % 47.41/47.58 exact (zenon_H23 zenon_H1c). % 47.41/47.58 apply zenon_H22f. apply refl_equal. % 47.41/47.58 apply zenon_H22f. apply refl_equal. % 47.41/47.58 apply zenon_H6. apply refl_equal. % 47.41/47.58 apply zenon_H22f. apply refl_equal. % 47.41/47.58 apply zenon_H22f. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L87_ *) % 47.41/47.58 assert (zenon_L88_ : ((op (e3) (e5)) = (e4)) -> ((op (e1) (e3)) = (e5)) -> (~((e4) = (op (e3) (op (e1) (e3))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H99 zenon_H27 zenon_H233. % 47.41/47.58 elim (classic ((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [ zenon_intro zenon_H234 | zenon_intro zenon_H235 ]. % 47.41/47.58 cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3)))) = ((e4) = (op (e3) (op (e1) (e3))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H233. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H234. % 47.41/47.58 cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H235]. % 47.41/47.58 cut (((op (e3) (op (e1) (e3))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H236]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e3) (e5)) = (e4)) = ((op (e3) (op (e1) (e3))) = (e4))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H236. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H99. % 47.41/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.41/47.58 cut (((op (e3) (e5)) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H237]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [ zenon_intro zenon_H234 | zenon_intro zenon_H235 ]. % 47.41/47.58 cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3)))) = ((op (e3) (e5)) = (op (e3) (op (e1) (e3))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H237. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H234. % 47.41/47.58 cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H235]. % 47.41/47.58 cut (((op (e3) (op (e1) (e3))) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H238]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.41/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H24. apply refl_equal. % 47.41/47.58 exact (zenon_H2e zenon_H27). % 47.41/47.58 apply zenon_H235. apply refl_equal. % 47.41/47.58 apply zenon_H235. apply refl_equal. % 47.41/47.58 apply zenon_H1a. apply refl_equal. % 47.41/47.58 apply zenon_H235. apply refl_equal. % 47.41/47.58 apply zenon_H235. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L88_ *) % 47.41/47.58 assert (zenon_L89_ : ((op (e3) (e2)) = (e0)) -> ((op (e1) (e4)) = (e2)) -> (~((e0) = (op (e3) (op (e1) (e4))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H81 zenon_H30 zenon_H239. % 47.41/47.58 elim (classic ((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4))))); [ zenon_intro zenon_H23a | zenon_intro zenon_H23b ]. % 47.41/47.58 cut (((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4)))) = ((e0) = (op (e3) (op (e1) (e4))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H239. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H23a. % 47.41/47.58 cut (((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H23b]. % 47.41/47.58 cut (((op (e3) (op (e1) (e4))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H23c]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e3) (e2)) = (e0)) = ((op (e3) (op (e1) (e4))) = (e0))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H23c. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H81. % 47.41/47.58 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.41/47.58 cut (((op (e3) (e2)) = (op (e3) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H23d]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4))))); [ zenon_intro zenon_H23a | zenon_intro zenon_H23b ]. % 47.41/47.58 cut (((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4)))) = ((op (e3) (e2)) = (op (e3) (op (e1) (e4))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H23d. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H23a. % 47.41/47.58 cut (((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H23b]. % 47.41/47.58 cut (((op (e3) (op (e1) (e4))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H23e]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.41/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H24. apply refl_equal. % 47.41/47.58 exact (zenon_H37 zenon_H30). % 47.41/47.58 apply zenon_H23b. apply refl_equal. % 47.41/47.58 apply zenon_H23b. apply refl_equal. % 47.41/47.58 apply zenon_H5. apply refl_equal. % 47.41/47.58 apply zenon_H23b. apply refl_equal. % 47.41/47.58 apply zenon_H23b. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L89_ *) % 47.41/47.58 assert (zenon_L90_ : ((op (e3) (e3)) = (e2)) -> ((op (e1) (e5)) = (e3)) -> (~((e2) = (op (e3) (op (e1) (e5))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H89 zenon_H39 zenon_H23f. % 47.41/47.58 elim (classic ((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5))))); [ zenon_intro zenon_H240 | zenon_intro zenon_H241 ]. % 47.41/47.58 cut (((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5)))) = ((e2) = (op (e3) (op (e1) (e5))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H23f. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H240. % 47.41/47.58 cut (((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H241]. % 47.41/47.58 cut (((op (e3) (op (e1) (e5))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H242]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e3) (e3)) = (e2)) = ((op (e3) (op (e1) (e5))) = (e2))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H242. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H89. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 cut (((op (e3) (e3)) = (op (e3) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H243]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5))))); [ zenon_intro zenon_H240 | zenon_intro zenon_H241 ]. % 47.41/47.58 cut (((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5)))) = ((op (e3) (e3)) = (op (e3) (op (e1) (e5))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H243. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H240. % 47.41/47.58 cut (((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H241]. % 47.41/47.58 cut (((op (e3) (op (e1) (e5))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H244]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.41/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H24. apply refl_equal. % 47.41/47.58 exact (zenon_H40 zenon_H39). % 47.41/47.58 apply zenon_H241. apply refl_equal. % 47.41/47.58 apply zenon_H241. apply refl_equal. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 apply zenon_H241. apply refl_equal. % 47.41/47.58 apply zenon_H241. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L90_ *) % 47.41/47.58 assert (zenon_L91_ : ((op (e3) (e3)) = (e2)) -> ((op (e3) (e0)) = (e3)) -> (~((e2) = (op (e3) (op (e3) (e0))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H89 zenon_H71 zenon_H245. % 47.41/47.58 elim (classic ((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [ zenon_intro zenon_H246 | zenon_intro zenon_H247 ]. % 47.41/47.58 cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0)))) = ((e2) = (op (e3) (op (e3) (e0))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H245. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H246. % 47.41/47.58 cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H247]. % 47.41/47.58 cut (((op (e3) (op (e3) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H248]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e3) (e3)) = (e2)) = ((op (e3) (op (e3) (e0))) = (e2))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H248. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H89. % 47.41/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.41/47.58 cut (((op (e3) (e3)) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H249]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [ zenon_intro zenon_H246 | zenon_intro zenon_H247 ]. % 47.41/47.58 cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0)))) = ((op (e3) (e3)) = (op (e3) (op (e3) (e0))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H249. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H246. % 47.41/47.58 cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H247]. % 47.41/47.58 cut (((op (e3) (op (e3) (e0))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H24a]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.41/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H24. apply refl_equal. % 47.41/47.58 exact (zenon_H78 zenon_H71). % 47.41/47.58 apply zenon_H247. apply refl_equal. % 47.41/47.58 apply zenon_H247. apply refl_equal. % 47.41/47.58 apply zenon_H19. apply refl_equal. % 47.41/47.58 apply zenon_H247. apply refl_equal. % 47.41/47.58 apply zenon_H247. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L91_ *) % 47.41/47.58 assert (zenon_L92_ : ((op (e3) (e5)) = (e4)) -> ((op (e3) (e1)) = (e5)) -> (~((e4) = (op (e3) (op (e3) (e1))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H99 zenon_H79 zenon_H24b. % 47.41/47.58 elim (classic ((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [ zenon_intro zenon_H24c | zenon_intro zenon_H24d ]. % 47.41/47.58 cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1)))) = ((e4) = (op (e3) (op (e3) (e1))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H24b. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H24c. % 47.41/47.58 cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H24d]. % 47.41/47.58 cut (((op (e3) (op (e3) (e1))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H24e]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e3) (e5)) = (e4)) = ((op (e3) (op (e3) (e1))) = (e4))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H24e. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H99. % 47.41/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.41/47.58 cut (((op (e3) (e5)) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H24f]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [ zenon_intro zenon_H24c | zenon_intro zenon_H24d ]. % 47.41/47.58 cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1)))) = ((op (e3) (e5)) = (op (e3) (op (e3) (e1))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H24f. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H24c. % 47.41/47.58 cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H24d]. % 47.41/47.58 cut (((op (e3) (op (e3) (e1))) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H250]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.41/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H24. apply refl_equal. % 47.41/47.58 exact (zenon_H80 zenon_H79). % 47.41/47.58 apply zenon_H24d. apply refl_equal. % 47.41/47.58 apply zenon_H24d. apply refl_equal. % 47.41/47.58 apply zenon_H1a. apply refl_equal. % 47.41/47.58 apply zenon_H24d. apply refl_equal. % 47.41/47.58 apply zenon_H24d. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L92_ *) % 47.41/47.58 assert (zenon_L93_ : ((op (e3) (e0)) = (e3)) -> ((op (e3) (e2)) = (e0)) -> (~((e3) = (op (e3) (op (e3) (e2))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H71 zenon_H81 zenon_H251. % 47.41/47.58 elim (classic ((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [ zenon_intro zenon_H252 | zenon_intro zenon_H253 ]. % 47.41/47.58 cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2)))) = ((e3) = (op (e3) (op (e3) (e2))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H251. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H252. % 47.41/47.58 cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H253]. % 47.41/47.58 cut (((op (e3) (op (e3) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H254]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e3) (e2))) = (e3))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H254. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H71. % 47.41/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.41/47.58 cut (((op (e3) (e0)) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H255]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [ zenon_intro zenon_H252 | zenon_intro zenon_H253 ]. % 47.41/47.58 cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2)))) = ((op (e3) (e0)) = (op (e3) (op (e3) (e2))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H255. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H252. % 47.41/47.58 cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H253]. % 47.41/47.58 cut (((op (e3) (op (e3) (e2))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H256]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.41/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.41/47.58 congruence. % 47.41/47.58 apply zenon_H24. apply refl_equal. % 47.41/47.58 exact (zenon_H88 zenon_H81). % 47.41/47.58 apply zenon_H253. apply refl_equal. % 47.41/47.58 apply zenon_H253. apply refl_equal. % 47.41/47.58 apply zenon_H24. apply refl_equal. % 47.41/47.58 apply zenon_H253. apply refl_equal. % 47.41/47.58 apply zenon_H253. apply refl_equal. % 47.41/47.58 (* end of lemma zenon_L93_ *) % 47.41/47.58 assert (zenon_L94_ : ((op (e3) (e2)) = (e0)) -> ((op (e3) (e3)) = (e2)) -> (~((e0) = (op (e3) (op (e3) (e3))))) -> False). % 47.41/47.58 do 0 intro. intros zenon_H81 zenon_H89 zenon_H257. % 47.41/47.58 elim (classic ((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ]. % 47.41/47.58 cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3)))) = ((e0) = (op (e3) (op (e3) (e3))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H257. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H258. % 47.41/47.58 cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H259]. % 47.41/47.58 cut (((op (e3) (op (e3) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H25a]. % 47.41/47.58 congruence. % 47.41/47.58 cut (((op (e3) (e2)) = (e0)) = ((op (e3) (op (e3) (e3))) = (e0))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H25a. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H81. % 47.41/47.58 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.41/47.58 cut (((op (e3) (e2)) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H25b]. % 47.41/47.58 congruence. % 47.41/47.58 elim (classic ((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ]. % 47.41/47.58 cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3)))) = ((op (e3) (e2)) = (op (e3) (op (e3) (e3))))). % 47.41/47.58 intro zenon_D_pnotp. % 47.41/47.58 apply zenon_H25b. % 47.41/47.58 rewrite <- zenon_D_pnotp. % 47.41/47.58 exact zenon_H258. % 47.41/47.58 cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H259]. % 47.42/47.58 cut (((op (e3) (op (e3) (e3))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H25c]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 exact (zenon_H90 zenon_H89). % 47.42/47.58 apply zenon_H259. apply refl_equal. % 47.42/47.58 apply zenon_H259. apply refl_equal. % 47.42/47.58 apply zenon_H5. apply refl_equal. % 47.42/47.58 apply zenon_H259. apply refl_equal. % 47.42/47.58 apply zenon_H259. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L94_ *) % 47.42/47.58 assert (zenon_L95_ : ((op (e3) (e1)) = (e5)) -> ((op (e3) (e4)) = (e1)) -> (~((e5) = (op (e3) (op (e3) (e4))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_H79 zenon_H91 zenon_H25d. % 47.42/47.58 elim (classic ((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4))))); [ zenon_intro zenon_H25e | zenon_intro zenon_H25f ]. % 47.42/47.58 cut (((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4)))) = ((e5) = (op (e3) (op (e3) (e4))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H25d. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H25e. % 47.42/47.58 cut (((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H25f]. % 47.42/47.58 cut (((op (e3) (op (e3) (e4))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H260]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e1)) = (e5)) = ((op (e3) (op (e3) (e4))) = (e5))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H260. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H79. % 47.42/47.58 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.58 cut (((op (e3) (e1)) = (op (e3) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H261]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4))))); [ zenon_intro zenon_H25e | zenon_intro zenon_H25f ]. % 47.42/47.58 cut (((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4)))) = ((op (e3) (e1)) = (op (e3) (op (e3) (e4))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H261. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H25e. % 47.42/47.58 cut (((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H25f]. % 47.42/47.58 cut (((op (e3) (op (e3) (e4))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H262]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 exact (zenon_H98 zenon_H91). % 47.42/47.58 apply zenon_H25f. apply refl_equal. % 47.42/47.58 apply zenon_H25f. apply refl_equal. % 47.42/47.58 apply zenon_H25. apply refl_equal. % 47.42/47.58 apply zenon_H25f. apply refl_equal. % 47.42/47.58 apply zenon_H25f. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L95_ *) % 47.42/47.58 assert (zenon_L96_ : ((op (e3) (e4)) = (e1)) -> ((op (e3) (e5)) = (e4)) -> (~((e1) = (op (e3) (op (e3) (e5))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_H91 zenon_H99 zenon_H263. % 47.42/47.58 elim (classic ((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5))))); [ zenon_intro zenon_H264 | zenon_intro zenon_H265 ]. % 47.42/47.58 cut (((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5)))) = ((e1) = (op (e3) (op (e3) (e5))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H263. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H264. % 47.42/47.58 cut (((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H265]. % 47.42/47.58 cut (((op (e3) (op (e3) (e5))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H266]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e4)) = (e1)) = ((op (e3) (op (e3) (e5))) = (e1))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H266. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H91. % 47.42/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.58 cut (((op (e3) (e4)) = (op (e3) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H267]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5))))); [ zenon_intro zenon_H264 | zenon_intro zenon_H265 ]. % 47.42/47.58 cut (((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5)))) = ((op (e3) (e4)) = (op (e3) (op (e3) (e5))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H267. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H264. % 47.42/47.58 cut (((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H265]. % 47.42/47.58 cut (((op (e3) (op (e3) (e5))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H268]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 exact (zenon_Ha0 zenon_H99). % 47.42/47.58 apply zenon_H265. apply refl_equal. % 47.42/47.58 apply zenon_H265. apply refl_equal. % 47.42/47.58 apply zenon_H6. apply refl_equal. % 47.42/47.58 apply zenon_H265. apply refl_equal. % 47.42/47.58 apply zenon_H265. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L96_ *) % 47.42/47.58 assert (zenon_L97_ : ((op (e3) (e4)) = (e1)) -> ((op (e4) (e0)) = (e4)) -> (~((e1) = (op (e3) (op (e4) (e0))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_H91 zenon_Ha1 zenon_H269. % 47.42/47.58 elim (classic ((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0))))); [ zenon_intro zenon_H26a | zenon_intro zenon_H26b ]. % 47.42/47.58 cut (((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0)))) = ((e1) = (op (e3) (op (e4) (e0))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H269. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H26a. % 47.42/47.58 cut (((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H26b]. % 47.42/47.58 cut (((op (e3) (op (e4) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H26c]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e4)) = (e1)) = ((op (e3) (op (e4) (e0))) = (e1))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H26c. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H91. % 47.42/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.58 cut (((op (e3) (e4)) = (op (e3) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H26d]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0))))); [ zenon_intro zenon_H26a | zenon_intro zenon_H26b ]. % 47.42/47.58 cut (((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0)))) = ((op (e3) (e4)) = (op (e3) (op (e4) (e0))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H26d. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H26a. % 47.42/47.58 cut (((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H26b]. % 47.42/47.58 cut (((op (e3) (op (e4) (e0))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H26e]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 exact (zenon_Ha8 zenon_Ha1). % 47.42/47.58 apply zenon_H26b. apply refl_equal. % 47.42/47.58 apply zenon_H26b. apply refl_equal. % 47.42/47.58 apply zenon_H6. apply refl_equal. % 47.42/47.58 apply zenon_H26b. apply refl_equal. % 47.42/47.58 apply zenon_H26b. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L97_ *) % 47.42/47.58 assert (zenon_L98_ : ((op (e3) (e2)) = (e0)) -> ((op (e4) (e1)) = (e2)) -> (~((e0) = (op (e3) (op (e4) (e1))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_H81 zenon_Ha9 zenon_H26f. % 47.42/47.58 elim (classic ((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1))))); [ zenon_intro zenon_H270 | zenon_intro zenon_H271 ]. % 47.42/47.58 cut (((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1)))) = ((e0) = (op (e3) (op (e4) (e1))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H26f. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H270. % 47.42/47.58 cut (((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H271]. % 47.42/47.58 cut (((op (e3) (op (e4) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H272]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e2)) = (e0)) = ((op (e3) (op (e4) (e1))) = (e0))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H272. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H81. % 47.42/47.58 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.58 cut (((op (e3) (e2)) = (op (e3) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H273]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1))))); [ zenon_intro zenon_H270 | zenon_intro zenon_H271 ]. % 47.42/47.58 cut (((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1)))) = ((op (e3) (e2)) = (op (e3) (op (e4) (e1))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H273. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H270. % 47.42/47.58 cut (((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H271]. % 47.42/47.58 cut (((op (e3) (op (e4) (e1))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H274]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 exact (zenon_Hb0 zenon_Ha9). % 47.42/47.58 apply zenon_H271. apply refl_equal. % 47.42/47.58 apply zenon_H271. apply refl_equal. % 47.42/47.58 apply zenon_H5. apply refl_equal. % 47.42/47.58 apply zenon_H271. apply refl_equal. % 47.42/47.58 apply zenon_H271. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L98_ *) % 47.42/47.58 assert (zenon_L99_ : ((op (e3) (e5)) = (e4)) -> ((op (e4) (e2)) = (e5)) -> (~((e4) = (op (e3) (op (e4) (e2))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_H99 zenon_Hb1 zenon_H275. % 47.42/47.58 elim (classic ((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2))))); [ zenon_intro zenon_H276 | zenon_intro zenon_H277 ]. % 47.42/47.58 cut (((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2)))) = ((e4) = (op (e3) (op (e4) (e2))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H275. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H276. % 47.42/47.58 cut (((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H277]. % 47.42/47.58 cut (((op (e3) (op (e4) (e2))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H278]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e5)) = (e4)) = ((op (e3) (op (e4) (e2))) = (e4))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H278. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H99. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 cut (((op (e3) (e5)) = (op (e3) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H279]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2))))); [ zenon_intro zenon_H276 | zenon_intro zenon_H277 ]. % 47.42/47.58 cut (((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2)))) = ((op (e3) (e5)) = (op (e3) (op (e4) (e2))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H279. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H276. % 47.42/47.58 cut (((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H277]. % 47.42/47.58 cut (((op (e3) (op (e4) (e2))) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H27a]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 exact (zenon_Hb8 zenon_Hb1). % 47.42/47.58 apply zenon_H277. apply refl_equal. % 47.42/47.58 apply zenon_H277. apply refl_equal. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 apply zenon_H277. apply refl_equal. % 47.42/47.58 apply zenon_H277. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L99_ *) % 47.42/47.58 assert (zenon_L100_ : ((op (e3) (e1)) = (e5)) -> ((op (e4) (e3)) = (e1)) -> (~((e5) = (op (e3) (op (e4) (e3))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_H79 zenon_Hb9 zenon_H27b. % 47.42/47.58 elim (classic ((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3))))); [ zenon_intro zenon_H27c | zenon_intro zenon_H27d ]. % 47.42/47.58 cut (((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3)))) = ((e5) = (op (e3) (op (e4) (e3))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H27b. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H27c. % 47.42/47.58 cut (((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H27d]. % 47.42/47.58 cut (((op (e3) (op (e4) (e3))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H27e]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e1)) = (e5)) = ((op (e3) (op (e4) (e3))) = (e5))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H27e. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H79. % 47.42/47.58 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.58 cut (((op (e3) (e1)) = (op (e3) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H27f]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3))))); [ zenon_intro zenon_H27c | zenon_intro zenon_H27d ]. % 47.42/47.58 cut (((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3)))) = ((op (e3) (e1)) = (op (e3) (op (e4) (e3))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H27f. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H27c. % 47.42/47.58 cut (((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H27d]. % 47.42/47.58 cut (((op (e3) (op (e4) (e3))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H280]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 exact (zenon_Hc0 zenon_Hb9). % 47.42/47.58 apply zenon_H27d. apply refl_equal. % 47.42/47.58 apply zenon_H27d. apply refl_equal. % 47.42/47.58 apply zenon_H25. apply refl_equal. % 47.42/47.58 apply zenon_H27d. apply refl_equal. % 47.42/47.58 apply zenon_H27d. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L100_ *) % 47.42/47.58 assert (zenon_L101_ : ((op (e3) (e3)) = (e2)) -> ((op (e4) (e4)) = (e3)) -> (~((e2) = (op (e3) (op (e4) (e4))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_H89 zenon_Hc1 zenon_H281. % 47.42/47.58 elim (classic ((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4))))); [ zenon_intro zenon_H282 | zenon_intro zenon_H283 ]. % 47.42/47.58 cut (((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4)))) = ((e2) = (op (e3) (op (e4) (e4))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H281. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H282. % 47.42/47.58 cut (((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H283]. % 47.42/47.58 cut (((op (e3) (op (e4) (e4))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H284]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e3)) = (e2)) = ((op (e3) (op (e4) (e4))) = (e2))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H284. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H89. % 47.42/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.58 cut (((op (e3) (e3)) = (op (e3) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H285]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4))))); [ zenon_intro zenon_H282 | zenon_intro zenon_H283 ]. % 47.42/47.58 cut (((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4)))) = ((op (e3) (e3)) = (op (e3) (op (e4) (e4))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H285. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H282. % 47.42/47.58 cut (((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H283]. % 47.42/47.58 cut (((op (e3) (op (e4) (e4))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H286]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 exact (zenon_Hc8 zenon_Hc1). % 47.42/47.58 apply zenon_H283. apply refl_equal. % 47.42/47.58 apply zenon_H283. apply refl_equal. % 47.42/47.58 apply zenon_H19. apply refl_equal. % 47.42/47.58 apply zenon_H283. apply refl_equal. % 47.42/47.58 apply zenon_H283. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L101_ *) % 47.42/47.58 assert (zenon_L102_ : ((op (e3) (e0)) = (e3)) -> ((op (e4) (e5)) = (e0)) -> (~((e3) = (op (e3) (op (e4) (e5))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_H71 zenon_Hc9 zenon_H287. % 47.42/47.58 elim (classic ((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5))))); [ zenon_intro zenon_H288 | zenon_intro zenon_H289 ]. % 47.42/47.58 cut (((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5)))) = ((e3) = (op (e3) (op (e4) (e5))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H287. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H288. % 47.42/47.58 cut (((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H289]. % 47.42/47.58 cut (((op (e3) (op (e4) (e5))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H28a]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e4) (e5))) = (e3))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H28a. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H71. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 cut (((op (e3) (e0)) = (op (e3) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H28b]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5))))); [ zenon_intro zenon_H288 | zenon_intro zenon_H289 ]. % 47.42/47.58 cut (((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5)))) = ((op (e3) (e0)) = (op (e3) (op (e4) (e5))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H28b. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H288. % 47.42/47.58 cut (((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H289]. % 47.42/47.58 cut (((op (e3) (op (e4) (e5))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H28c]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 exact (zenon_Hd0 zenon_Hc9). % 47.42/47.58 apply zenon_H289. apply refl_equal. % 47.42/47.58 apply zenon_H289. apply refl_equal. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 apply zenon_H289. apply refl_equal. % 47.42/47.58 apply zenon_H289. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L102_ *) % 47.42/47.58 assert (zenon_L103_ : ((op (e3) (e5)) = (e4)) -> ((op (e5) (e0)) = (e5)) -> (~((e4) = (op (e3) (op (e5) (e0))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_H99 zenon_Hd1 zenon_H28d. % 47.42/47.58 elim (classic ((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0))))); [ zenon_intro zenon_H28e | zenon_intro zenon_H28f ]. % 47.42/47.58 cut (((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0)))) = ((e4) = (op (e3) (op (e5) (e0))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H28d. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H28e. % 47.42/47.58 cut (((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H28f]. % 47.42/47.58 cut (((op (e3) (op (e5) (e0))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H290]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e5)) = (e4)) = ((op (e3) (op (e5) (e0))) = (e4))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H290. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H99. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 cut (((op (e3) (e5)) = (op (e3) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H291]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0))))); [ zenon_intro zenon_H28e | zenon_intro zenon_H28f ]. % 47.42/47.58 cut (((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0)))) = ((op (e3) (e5)) = (op (e3) (op (e5) (e0))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H291. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H28e. % 47.42/47.58 cut (((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H28f]. % 47.42/47.58 cut (((op (e3) (op (e5) (e0))) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H292]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 exact (zenon_Hd8 zenon_Hd1). % 47.42/47.58 apply zenon_H28f. apply refl_equal. % 47.42/47.58 apply zenon_H28f. apply refl_equal. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 apply zenon_H28f. apply refl_equal. % 47.42/47.58 apply zenon_H28f. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L103_ *) % 47.42/47.58 assert (zenon_L104_ : ((op (e3) (e3)) = (e2)) -> ((op (e5) (e1)) = (e3)) -> (~((e2) = (op (e3) (op (e5) (e1))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_H89 zenon_Hd9 zenon_H293. % 47.42/47.58 elim (classic ((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1))))); [ zenon_intro zenon_H294 | zenon_intro zenon_H295 ]. % 47.42/47.58 cut (((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1)))) = ((e2) = (op (e3) (op (e5) (e1))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H293. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H294. % 47.42/47.58 cut (((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H295]. % 47.42/47.58 cut (((op (e3) (op (e5) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H296]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e3)) = (e2)) = ((op (e3) (op (e5) (e1))) = (e2))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H296. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H89. % 47.42/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.58 cut (((op (e3) (e3)) = (op (e3) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H297]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1))))); [ zenon_intro zenon_H294 | zenon_intro zenon_H295 ]. % 47.42/47.58 cut (((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1)))) = ((op (e3) (e3)) = (op (e3) (op (e5) (e1))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H297. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H294. % 47.42/47.58 cut (((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H295]. % 47.42/47.58 cut (((op (e3) (op (e5) (e1))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H298]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 exact (zenon_He0 zenon_Hd9). % 47.42/47.58 apply zenon_H295. apply refl_equal. % 47.42/47.58 apply zenon_H295. apply refl_equal. % 47.42/47.58 apply zenon_H19. apply refl_equal. % 47.42/47.58 apply zenon_H295. apply refl_equal. % 47.42/47.58 apply zenon_H295. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L104_ *) % 47.42/47.58 assert (zenon_L105_ : ((op (e3) (e1)) = (e5)) -> ((op (e5) (e2)) = (e1)) -> (~((e5) = (op (e3) (op (e5) (e2))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_H79 zenon_He1 zenon_H299. % 47.42/47.58 elim (classic ((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2))))); [ zenon_intro zenon_H29a | zenon_intro zenon_H29b ]. % 47.42/47.58 cut (((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2)))) = ((e5) = (op (e3) (op (e5) (e2))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H299. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H29a. % 47.42/47.58 cut (((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H29b]. % 47.42/47.58 cut (((op (e3) (op (e5) (e2))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H29c]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e1)) = (e5)) = ((op (e3) (op (e5) (e2))) = (e5))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H29c. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H79. % 47.42/47.58 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.58 cut (((op (e3) (e1)) = (op (e3) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H29d]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2))))); [ zenon_intro zenon_H29a | zenon_intro zenon_H29b ]. % 47.42/47.58 cut (((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2)))) = ((op (e3) (e1)) = (op (e3) (op (e5) (e2))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H29d. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H29a. % 47.42/47.58 cut (((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H29b]. % 47.42/47.58 cut (((op (e3) (op (e5) (e2))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H29e]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 exact (zenon_He8 zenon_He1). % 47.42/47.58 apply zenon_H29b. apply refl_equal. % 47.42/47.58 apply zenon_H29b. apply refl_equal. % 47.42/47.58 apply zenon_H25. apply refl_equal. % 47.42/47.58 apply zenon_H29b. apply refl_equal. % 47.42/47.58 apply zenon_H29b. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L105_ *) % 47.42/47.58 assert (zenon_L106_ : ((op (e3) (e4)) = (e1)) -> ((op (e5) (e3)) = (e4)) -> (~((e1) = (op (e3) (op (e5) (e3))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_H91 zenon_He9 zenon_H29f. % 47.42/47.58 elim (classic ((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3))))); [ zenon_intro zenon_H2a0 | zenon_intro zenon_H2a1 ]. % 47.42/47.58 cut (((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3)))) = ((e1) = (op (e3) (op (e5) (e3))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H29f. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2a0. % 47.42/47.58 cut (((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2a1]. % 47.42/47.58 cut (((op (e3) (op (e5) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H2a2]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e4)) = (e1)) = ((op (e3) (op (e5) (e3))) = (e1))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2a2. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H91. % 47.42/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.58 cut (((op (e3) (e4)) = (op (e3) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2a3]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3))))); [ zenon_intro zenon_H2a0 | zenon_intro zenon_H2a1 ]. % 47.42/47.58 cut (((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3)))) = ((op (e3) (e4)) = (op (e3) (op (e5) (e3))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2a3. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2a0. % 47.42/47.58 cut (((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2a1]. % 47.42/47.58 cut (((op (e3) (op (e5) (e3))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H2a4]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 exact (zenon_Hf0 zenon_He9). % 47.42/47.58 apply zenon_H2a1. apply refl_equal. % 47.42/47.58 apply zenon_H2a1. apply refl_equal. % 47.42/47.58 apply zenon_H6. apply refl_equal. % 47.42/47.58 apply zenon_H2a1. apply refl_equal. % 47.42/47.58 apply zenon_H2a1. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L106_ *) % 47.42/47.58 assert (zenon_L107_ : ((op (e3) (e0)) = (e3)) -> ((op (e5) (e4)) = (e0)) -> (~((e3) = (op (e3) (op (e5) (e4))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_H71 zenon_Hf1 zenon_H2a5. % 47.42/47.58 elim (classic ((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4))))); [ zenon_intro zenon_H2a6 | zenon_intro zenon_H2a7 ]. % 47.42/47.58 cut (((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4)))) = ((e3) = (op (e3) (op (e5) (e4))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2a5. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2a6. % 47.42/47.58 cut (((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2a7]. % 47.42/47.58 cut (((op (e3) (op (e5) (e4))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H2a8]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e5) (e4))) = (e3))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2a8. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H71. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 cut (((op (e3) (e0)) = (op (e3) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2a9]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4))))); [ zenon_intro zenon_H2a6 | zenon_intro zenon_H2a7 ]. % 47.42/47.58 cut (((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4)))) = ((op (e3) (e0)) = (op (e3) (op (e5) (e4))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2a9. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2a6. % 47.42/47.58 cut (((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2a7]. % 47.42/47.58 cut (((op (e3) (op (e5) (e4))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2aa]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 exact (zenon_Hf8 zenon_Hf1). % 47.42/47.58 apply zenon_H2a7. apply refl_equal. % 47.42/47.58 apply zenon_H2a7. apply refl_equal. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 apply zenon_H2a7. apply refl_equal. % 47.42/47.58 apply zenon_H2a7. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L107_ *) % 47.42/47.58 assert (zenon_L108_ : ((op (e3) (e2)) = (e0)) -> ((op (e5) (e5)) = (e2)) -> (~((e0) = (op (e3) (op (e5) (e5))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_H81 zenon_Hf9 zenon_H2ab. % 47.42/47.58 elim (classic ((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5))))); [ zenon_intro zenon_H2ac | zenon_intro zenon_H2ad ]. % 47.42/47.58 cut (((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5)))) = ((e0) = (op (e3) (op (e5) (e5))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2ab. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2ac. % 47.42/47.58 cut (((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2ad]. % 47.42/47.58 cut (((op (e3) (op (e5) (e5))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H2ae]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e2)) = (e0)) = ((op (e3) (op (e5) (e5))) = (e0))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2ae. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H81. % 47.42/47.58 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.58 cut (((op (e3) (e2)) = (op (e3) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2af]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5))))); [ zenon_intro zenon_H2ac | zenon_intro zenon_H2ad ]. % 47.42/47.58 cut (((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5)))) = ((op (e3) (e2)) = (op (e3) (op (e5) (e5))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2af. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2ac. % 47.42/47.58 cut (((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2ad]. % 47.42/47.58 cut (((op (e3) (op (e5) (e5))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2b0]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 exact (zenon_H100 zenon_Hf9). % 47.42/47.58 apply zenon_H2ad. apply refl_equal. % 47.42/47.58 apply zenon_H2ad. apply refl_equal. % 47.42/47.58 apply zenon_H5. apply refl_equal. % 47.42/47.58 apply zenon_H2ad. apply refl_equal. % 47.42/47.58 apply zenon_H2ad. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L108_ *) % 47.42/47.58 assert (zenon_L109_ : ((op (e4) (e1)) = (e2)) -> ((op (e1) (e0)) = (e1)) -> (~((e2) = (op (e4) (op (e1) (e0))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Ha9 zenon_H8 zenon_H2b1. % 47.42/47.58 elim (classic ((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0))))); [ zenon_intro zenon_H2b2 | zenon_intro zenon_H2b3 ]. % 47.42/47.58 cut (((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0)))) = ((e2) = (op (e4) (op (e1) (e0))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2b1. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2b2. % 47.42/47.58 cut (((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2b3]. % 47.42/47.58 cut (((op (e4) (op (e1) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2b4]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e1)) = (e2)) = ((op (e4) (op (e1) (e0))) = (e2))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2b4. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Ha9. % 47.42/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.58 cut (((op (e4) (e1)) = (op (e4) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2b5]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0))))); [ zenon_intro zenon_H2b2 | zenon_intro zenon_H2b3 ]. % 47.42/47.58 cut (((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0)))) = ((op (e4) (e1)) = (op (e4) (op (e1) (e0))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2b5. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2b2. % 47.42/47.58 cut (((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2b3]. % 47.42/47.58 cut (((op (e4) (op (e1) (e0))) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2b6]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_Hf zenon_H8). % 47.42/47.58 apply zenon_H2b3. apply refl_equal. % 47.42/47.58 apply zenon_H2b3. apply refl_equal. % 47.42/47.58 apply zenon_H19. apply refl_equal. % 47.42/47.58 apply zenon_H2b3. apply refl_equal. % 47.42/47.58 apply zenon_H2b3. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L109_ *) % 47.42/47.58 assert (zenon_L110_ : ((op (e4) (e0)) = (e4)) -> ((op (e1) (e1)) = (e0)) -> (~((e4) = (op (e4) (op (e1) (e1))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Ha1 zenon_H11 zenon_H2b7. % 47.42/47.58 elim (classic ((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1))))); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b9 ]. % 47.42/47.58 cut (((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1)))) = ((e4) = (op (e4) (op (e1) (e1))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2b7. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2b8. % 47.42/47.58 cut (((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2b9]. % 47.42/47.58 cut (((op (e4) (op (e1) (e1))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2ba]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e0)) = (e4)) = ((op (e4) (op (e1) (e1))) = (e4))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2ba. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Ha1. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 cut (((op (e4) (e0)) = (op (e4) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2bb]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1))))); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b9 ]. % 47.42/47.58 cut (((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1)))) = ((op (e4) (e0)) = (op (e4) (op (e1) (e1))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2bb. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2b8. % 47.42/47.58 cut (((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2b9]. % 47.42/47.58 cut (((op (e4) (op (e1) (e1))) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2bc]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H18 zenon_H11). % 47.42/47.58 apply zenon_H2b9. apply refl_equal. % 47.42/47.58 apply zenon_H2b9. apply refl_equal. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 apply zenon_H2b9. apply refl_equal. % 47.42/47.58 apply zenon_H2b9. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L110_ *) % 47.42/47.58 assert (zenon_L111_ : ((op (e4) (e4)) = (e3)) -> ((op (e1) (e2)) = (e4)) -> (~((e3) = (op (e4) (op (e1) (e2))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Hc1 zenon_H1c zenon_H2bd. % 47.42/47.58 elim (classic ((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2))))); [ zenon_intro zenon_H2be | zenon_intro zenon_H2bf ]. % 47.42/47.58 cut (((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2)))) = ((e3) = (op (e4) (op (e1) (e2))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2bd. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2be. % 47.42/47.58 cut (((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2bf]. % 47.42/47.58 cut (((op (e4) (op (e1) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H2c0]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e4)) = (e3)) = ((op (e4) (op (e1) (e2))) = (e3))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2c0. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Hc1. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 cut (((op (e4) (e4)) = (op (e4) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2c1]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2))))); [ zenon_intro zenon_H2be | zenon_intro zenon_H2bf ]. % 47.42/47.58 cut (((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2)))) = ((op (e4) (e4)) = (op (e4) (op (e1) (e2))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2c1. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2be. % 47.42/47.58 cut (((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2bf]. % 47.42/47.58 cut (((op (e4) (op (e1) (e2))) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H2c2]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H23 zenon_H1c). % 47.42/47.58 apply zenon_H2bf. apply refl_equal. % 47.42/47.58 apply zenon_H2bf. apply refl_equal. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 apply zenon_H2bf. apply refl_equal. % 47.42/47.58 apply zenon_H2bf. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L111_ *) % 47.42/47.58 assert (zenon_L112_ : ((op (e4) (e5)) = (e0)) -> ((op (e1) (e3)) = (e5)) -> (~((e0) = (op (e4) (op (e1) (e3))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Hc9 zenon_H27 zenon_H2c3. % 47.42/47.58 elim (classic ((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3))))); [ zenon_intro zenon_H2c4 | zenon_intro zenon_H2c5 ]. % 47.42/47.58 cut (((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3)))) = ((e0) = (op (e4) (op (e1) (e3))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2c3. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2c4. % 47.42/47.58 cut (((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2c5]. % 47.42/47.58 cut (((op (e4) (op (e1) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H2c6]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e5)) = (e0)) = ((op (e4) (op (e1) (e3))) = (e0))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2c6. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Hc9. % 47.42/47.58 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.58 cut (((op (e4) (e5)) = (op (e4) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2c7]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3))))); [ zenon_intro zenon_H2c4 | zenon_intro zenon_H2c5 ]. % 47.42/47.58 cut (((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3)))) = ((op (e4) (e5)) = (op (e4) (op (e1) (e3))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2c7. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2c4. % 47.42/47.58 cut (((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2c5]. % 47.42/47.58 cut (((op (e4) (op (e1) (e3))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H2c8]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H2e zenon_H27). % 47.42/47.58 apply zenon_H2c5. apply refl_equal. % 47.42/47.58 apply zenon_H2c5. apply refl_equal. % 47.42/47.58 apply zenon_H5. apply refl_equal. % 47.42/47.58 apply zenon_H2c5. apply refl_equal. % 47.42/47.58 apply zenon_H2c5. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L112_ *) % 47.42/47.58 assert (zenon_L113_ : ((op (e4) (e2)) = (e5)) -> ((op (e1) (e4)) = (e2)) -> (~((e5) = (op (e4) (op (e1) (e4))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Hb1 zenon_H30 zenon_H2c9. % 47.42/47.58 elim (classic ((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4))))); [ zenon_intro zenon_H2ca | zenon_intro zenon_H2cb ]. % 47.42/47.58 cut (((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4)))) = ((e5) = (op (e4) (op (e1) (e4))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2c9. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2ca. % 47.42/47.58 cut (((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2cb]. % 47.42/47.58 cut (((op (e4) (op (e1) (e4))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2cc]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e2)) = (e5)) = ((op (e4) (op (e1) (e4))) = (e5))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2cc. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Hb1. % 47.42/47.58 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.58 cut (((op (e4) (e2)) = (op (e4) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2cd]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4))))); [ zenon_intro zenon_H2ca | zenon_intro zenon_H2cb ]. % 47.42/47.58 cut (((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4)))) = ((op (e4) (e2)) = (op (e4) (op (e1) (e4))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2cd. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2ca. % 47.42/47.58 cut (((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2cb]. % 47.42/47.58 cut (((op (e4) (op (e1) (e4))) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2ce]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H37 zenon_H30). % 47.42/47.58 apply zenon_H2cb. apply refl_equal. % 47.42/47.58 apply zenon_H2cb. apply refl_equal. % 47.42/47.58 apply zenon_H25. apply refl_equal. % 47.42/47.58 apply zenon_H2cb. apply refl_equal. % 47.42/47.58 apply zenon_H2cb. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L113_ *) % 47.42/47.58 assert (zenon_L114_ : ((op (e4) (e3)) = (e1)) -> ((op (e1) (e5)) = (e3)) -> (~((e1) = (op (e4) (op (e1) (e5))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Hb9 zenon_H39 zenon_H2cf. % 47.42/47.58 elim (classic ((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5))))); [ zenon_intro zenon_H2d0 | zenon_intro zenon_H2d1 ]. % 47.42/47.58 cut (((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5)))) = ((e1) = (op (e4) (op (e1) (e5))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2cf. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2d0. % 47.42/47.58 cut (((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2d1]. % 47.42/47.58 cut (((op (e4) (op (e1) (e5))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H2d2]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e3)) = (e1)) = ((op (e4) (op (e1) (e5))) = (e1))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2d2. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Hb9. % 47.42/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.58 cut (((op (e4) (e3)) = (op (e4) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2d3]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5))))); [ zenon_intro zenon_H2d0 | zenon_intro zenon_H2d1 ]. % 47.42/47.58 cut (((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5)))) = ((op (e4) (e3)) = (op (e4) (op (e1) (e5))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2d3. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2d0. % 47.42/47.58 cut (((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2d1]. % 47.42/47.58 cut (((op (e4) (op (e1) (e5))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2d4]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H40 zenon_H39). % 47.42/47.58 apply zenon_H2d1. apply refl_equal. % 47.42/47.58 apply zenon_H2d1. apply refl_equal. % 47.42/47.58 apply zenon_H6. apply refl_equal. % 47.42/47.58 apply zenon_H2d1. apply refl_equal. % 47.42/47.58 apply zenon_H2d1. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L114_ *) % 47.42/47.58 assert (zenon_L115_ : ((op (e4) (e2)) = (e5)) -> ((op (e2) (e0)) = (e2)) -> (~((e5) = (op (e4) (op (e2) (e0))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Hb1 zenon_H41 zenon_H2d5. % 47.42/47.58 elim (classic ((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0))))); [ zenon_intro zenon_H2d6 | zenon_intro zenon_H2d7 ]. % 47.42/47.58 cut (((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0)))) = ((e5) = (op (e4) (op (e2) (e0))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2d5. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2d6. % 47.42/47.58 cut (((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2d7]. % 47.42/47.58 cut (((op (e4) (op (e2) (e0))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2d8]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e2)) = (e5)) = ((op (e4) (op (e2) (e0))) = (e5))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2d8. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Hb1. % 47.42/47.58 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.58 cut (((op (e4) (e2)) = (op (e4) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2d9]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0))))); [ zenon_intro zenon_H2d6 | zenon_intro zenon_H2d7 ]. % 47.42/47.58 cut (((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0)))) = ((op (e4) (e2)) = (op (e4) (op (e2) (e0))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2d9. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2d6. % 47.42/47.58 cut (((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2d7]. % 47.42/47.58 cut (((op (e4) (op (e2) (e0))) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2da]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H48 zenon_H41). % 47.42/47.58 apply zenon_H2d7. apply refl_equal. % 47.42/47.58 apply zenon_H2d7. apply refl_equal. % 47.42/47.58 apply zenon_H25. apply refl_equal. % 47.42/47.58 apply zenon_H2d7. apply refl_equal. % 47.42/47.58 apply zenon_H2d7. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L115_ *) % 47.42/47.58 assert (zenon_L116_ : ((op (e4) (e4)) = (e3)) -> ((op (e2) (e1)) = (e4)) -> (~((e3) = (op (e4) (op (e2) (e1))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Hc1 zenon_H49 zenon_H2db. % 47.42/47.58 elim (classic ((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1))))); [ zenon_intro zenon_H2dc | zenon_intro zenon_H2dd ]. % 47.42/47.58 cut (((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1)))) = ((e3) = (op (e4) (op (e2) (e1))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2db. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2dc. % 47.42/47.58 cut (((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2dd]. % 47.42/47.58 cut (((op (e4) (op (e2) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H2de]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e4)) = (e3)) = ((op (e4) (op (e2) (e1))) = (e3))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2de. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Hc1. % 47.42/47.58 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.58 cut (((op (e4) (e4)) = (op (e4) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2df]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1))))); [ zenon_intro zenon_H2dc | zenon_intro zenon_H2dd ]. % 47.42/47.58 cut (((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1)))) = ((op (e4) (e4)) = (op (e4) (op (e2) (e1))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2df. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2dc. % 47.42/47.58 cut (((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2dd]. % 47.42/47.58 cut (((op (e4) (op (e2) (e1))) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H2e0]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H50 zenon_H49). % 47.42/47.58 apply zenon_H2dd. apply refl_equal. % 47.42/47.58 apply zenon_H2dd. apply refl_equal. % 47.42/47.58 apply zenon_H24. apply refl_equal. % 47.42/47.58 apply zenon_H2dd. apply refl_equal. % 47.42/47.58 apply zenon_H2dd. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L116_ *) % 47.42/47.58 assert (zenon_L117_ : ((op (e4) (e3)) = (e1)) -> ((op (e2) (e2)) = (e3)) -> (~((e1) = (op (e4) (op (e2) (e2))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Hb9 zenon_H51 zenon_H2e1. % 47.42/47.58 elim (classic ((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2))))); [ zenon_intro zenon_H2e2 | zenon_intro zenon_H2e3 ]. % 47.42/47.58 cut (((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2)))) = ((e1) = (op (e4) (op (e2) (e2))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2e1. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2e2. % 47.42/47.58 cut (((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2e3]. % 47.42/47.58 cut (((op (e4) (op (e2) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H2e4]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e3)) = (e1)) = ((op (e4) (op (e2) (e2))) = (e1))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2e4. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Hb9. % 47.42/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.58 cut (((op (e4) (e3)) = (op (e4) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2e5]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2))))); [ zenon_intro zenon_H2e2 | zenon_intro zenon_H2e3 ]. % 47.42/47.58 cut (((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2)))) = ((op (e4) (e3)) = (op (e4) (op (e2) (e2))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2e5. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2e2. % 47.42/47.58 cut (((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2e3]. % 47.42/47.58 cut (((op (e4) (op (e2) (e2))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2e6]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H58 zenon_H51). % 47.42/47.58 apply zenon_H2e3. apply refl_equal. % 47.42/47.58 apply zenon_H2e3. apply refl_equal. % 47.42/47.58 apply zenon_H6. apply refl_equal. % 47.42/47.58 apply zenon_H2e3. apply refl_equal. % 47.42/47.58 apply zenon_H2e3. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L117_ *) % 47.42/47.58 assert (zenon_L118_ : ((op (e4) (e0)) = (e4)) -> ((op (e2) (e3)) = (e0)) -> (~((e4) = (op (e4) (op (e2) (e3))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Ha1 zenon_H59 zenon_H2e7. % 47.42/47.58 elim (classic ((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3))))); [ zenon_intro zenon_H2e8 | zenon_intro zenon_H2e9 ]. % 47.42/47.58 cut (((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3)))) = ((e4) = (op (e4) (op (e2) (e3))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2e7. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2e8. % 47.42/47.58 cut (((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2e9]. % 47.42/47.58 cut (((op (e4) (op (e2) (e3))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2ea]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e0)) = (e4)) = ((op (e4) (op (e2) (e3))) = (e4))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2ea. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Ha1. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 cut (((op (e4) (e0)) = (op (e4) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2eb]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3))))); [ zenon_intro zenon_H2e8 | zenon_intro zenon_H2e9 ]. % 47.42/47.58 cut (((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3)))) = ((op (e4) (e0)) = (op (e4) (op (e2) (e3))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2eb. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2e8. % 47.42/47.58 cut (((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2e9]. % 47.42/47.58 cut (((op (e4) (op (e2) (e3))) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2ec]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H60 zenon_H59). % 47.42/47.58 apply zenon_H2e9. apply refl_equal. % 47.42/47.58 apply zenon_H2e9. apply refl_equal. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 apply zenon_H2e9. apply refl_equal. % 47.42/47.58 apply zenon_H2e9. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L118_ *) % 47.42/47.58 assert (zenon_L119_ : ((op (e4) (e5)) = (e0)) -> ((op (e2) (e4)) = (e5)) -> (~((e0) = (op (e4) (op (e2) (e4))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Hc9 zenon_H61 zenon_H2ed. % 47.42/47.58 elim (classic ((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4))))); [ zenon_intro zenon_H2ee | zenon_intro zenon_H2ef ]. % 47.42/47.58 cut (((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4)))) = ((e0) = (op (e4) (op (e2) (e4))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2ed. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2ee. % 47.42/47.58 cut (((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2ef]. % 47.42/47.58 cut (((op (e4) (op (e2) (e4))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H2f0]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e5)) = (e0)) = ((op (e4) (op (e2) (e4))) = (e0))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2f0. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Hc9. % 47.42/47.58 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.58 cut (((op (e4) (e5)) = (op (e4) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2f1]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4))))); [ zenon_intro zenon_H2ee | zenon_intro zenon_H2ef ]. % 47.42/47.58 cut (((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4)))) = ((op (e4) (e5)) = (op (e4) (op (e2) (e4))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2f1. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2ee. % 47.42/47.58 cut (((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2ef]. % 47.42/47.58 cut (((op (e4) (op (e2) (e4))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H2f2]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H68 zenon_H61). % 47.42/47.58 apply zenon_H2ef. apply refl_equal. % 47.42/47.58 apply zenon_H2ef. apply refl_equal. % 47.42/47.58 apply zenon_H5. apply refl_equal. % 47.42/47.58 apply zenon_H2ef. apply refl_equal. % 47.42/47.58 apply zenon_H2ef. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L119_ *) % 47.42/47.58 assert (zenon_L120_ : ((op (e4) (e1)) = (e2)) -> ((op (e2) (e5)) = (e1)) -> (~((e2) = (op (e4) (op (e2) (e5))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Ha9 zenon_H69 zenon_H2f3. % 47.42/47.58 elim (classic ((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5))))); [ zenon_intro zenon_H2f4 | zenon_intro zenon_H2f5 ]. % 47.42/47.58 cut (((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5)))) = ((e2) = (op (e4) (op (e2) (e5))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2f3. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2f4. % 47.42/47.58 cut (((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2f5]. % 47.42/47.58 cut (((op (e4) (op (e2) (e5))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2f6]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e1)) = (e2)) = ((op (e4) (op (e2) (e5))) = (e2))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2f6. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Ha9. % 47.42/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.58 cut (((op (e4) (e1)) = (op (e4) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2f7]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5))))); [ zenon_intro zenon_H2f4 | zenon_intro zenon_H2f5 ]. % 47.42/47.58 cut (((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5)))) = ((op (e4) (e1)) = (op (e4) (op (e2) (e5))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2f7. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2f4. % 47.42/47.58 cut (((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2f5]. % 47.42/47.58 cut (((op (e4) (op (e2) (e5))) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2f8]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H70 zenon_H69). % 47.42/47.58 apply zenon_H2f5. apply refl_equal. % 47.42/47.58 apply zenon_H2f5. apply refl_equal. % 47.42/47.58 apply zenon_H19. apply refl_equal. % 47.42/47.58 apply zenon_H2f5. apply refl_equal. % 47.42/47.58 apply zenon_H2f5. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L120_ *) % 47.42/47.58 assert (zenon_L121_ : ((op (e4) (e3)) = (e1)) -> ((op (e3) (e0)) = (e3)) -> (~((e1) = (op (e4) (op (e3) (e0))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Hb9 zenon_H71 zenon_H2f9. % 47.42/47.58 elim (classic ((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0))))); [ zenon_intro zenon_H2fa | zenon_intro zenon_H2fb ]. % 47.42/47.58 cut (((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0)))) = ((e1) = (op (e4) (op (e3) (e0))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2f9. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2fa. % 47.42/47.58 cut (((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2fb]. % 47.42/47.58 cut (((op (e4) (op (e3) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H2fc]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e3)) = (e1)) = ((op (e4) (op (e3) (e0))) = (e1))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2fc. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Hb9. % 47.42/47.58 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.58 cut (((op (e4) (e3)) = (op (e4) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2fd]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0))))); [ zenon_intro zenon_H2fa | zenon_intro zenon_H2fb ]. % 47.42/47.58 cut (((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0)))) = ((op (e4) (e3)) = (op (e4) (op (e3) (e0))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2fd. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H2fa. % 47.42/47.58 cut (((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2fb]. % 47.42/47.58 cut (((op (e4) (op (e3) (e0))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2fe]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H78 zenon_H71). % 47.42/47.58 apply zenon_H2fb. apply refl_equal. % 47.42/47.58 apply zenon_H2fb. apply refl_equal. % 47.42/47.58 apply zenon_H6. apply refl_equal. % 47.42/47.58 apply zenon_H2fb. apply refl_equal. % 47.42/47.58 apply zenon_H2fb. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L121_ *) % 47.42/47.58 assert (zenon_L122_ : ((op (e4) (e5)) = (e0)) -> ((op (e3) (e1)) = (e5)) -> (~((e0) = (op (e4) (op (e3) (e1))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Hc9 zenon_H79 zenon_H2ff. % 47.42/47.58 elim (classic ((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1))))); [ zenon_intro zenon_H300 | zenon_intro zenon_H301 ]. % 47.42/47.58 cut (((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1)))) = ((e0) = (op (e4) (op (e3) (e1))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H2ff. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H300. % 47.42/47.58 cut (((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H301]. % 47.42/47.58 cut (((op (e4) (op (e3) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H302]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e5)) = (e0)) = ((op (e4) (op (e3) (e1))) = (e0))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H302. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Hc9. % 47.42/47.58 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.58 cut (((op (e4) (e5)) = (op (e4) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H303]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1))))); [ zenon_intro zenon_H300 | zenon_intro zenon_H301 ]. % 47.42/47.58 cut (((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1)))) = ((op (e4) (e5)) = (op (e4) (op (e3) (e1))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H303. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H300. % 47.42/47.58 cut (((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H301]. % 47.42/47.58 cut (((op (e4) (op (e3) (e1))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H304]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H80 zenon_H79). % 47.42/47.58 apply zenon_H301. apply refl_equal. % 47.42/47.58 apply zenon_H301. apply refl_equal. % 47.42/47.58 apply zenon_H5. apply refl_equal. % 47.42/47.58 apply zenon_H301. apply refl_equal. % 47.42/47.58 apply zenon_H301. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L122_ *) % 47.42/47.58 assert (zenon_L123_ : ((op (e4) (e0)) = (e4)) -> ((op (e3) (e2)) = (e0)) -> (~((e4) = (op (e4) (op (e3) (e2))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Ha1 zenon_H81 zenon_H305. % 47.42/47.58 elim (classic ((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2))))); [ zenon_intro zenon_H306 | zenon_intro zenon_H307 ]. % 47.42/47.58 cut (((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2)))) = ((e4) = (op (e4) (op (e3) (e2))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H305. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H306. % 47.42/47.58 cut (((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H307]. % 47.42/47.58 cut (((op (e4) (op (e3) (e2))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H308]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e0)) = (e4)) = ((op (e4) (op (e3) (e2))) = (e4))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H308. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Ha1. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 cut (((op (e4) (e0)) = (op (e4) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H309]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2))))); [ zenon_intro zenon_H306 | zenon_intro zenon_H307 ]. % 47.42/47.58 cut (((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2)))) = ((op (e4) (e0)) = (op (e4) (op (e3) (e2))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H309. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H306. % 47.42/47.58 cut (((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H307]. % 47.42/47.58 cut (((op (e4) (op (e3) (e2))) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H30a]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H88 zenon_H81). % 47.42/47.58 apply zenon_H307. apply refl_equal. % 47.42/47.58 apply zenon_H307. apply refl_equal. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 apply zenon_H307. apply refl_equal. % 47.42/47.58 apply zenon_H307. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L123_ *) % 47.42/47.58 assert (zenon_L124_ : ((op (e4) (e2)) = (e5)) -> ((op (e3) (e3)) = (e2)) -> (~((e5) = (op (e4) (op (e3) (e3))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Hb1 zenon_H89 zenon_H30b. % 47.42/47.58 elim (classic ((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3))))); [ zenon_intro zenon_H30c | zenon_intro zenon_H30d ]. % 47.42/47.58 cut (((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3)))) = ((e5) = (op (e4) (op (e3) (e3))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H30b. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H30c. % 47.42/47.58 cut (((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H30d]. % 47.42/47.58 cut (((op (e4) (op (e3) (e3))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H30e]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e2)) = (e5)) = ((op (e4) (op (e3) (e3))) = (e5))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H30e. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Hb1. % 47.42/47.58 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.58 cut (((op (e4) (e2)) = (op (e4) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H30f]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3))))); [ zenon_intro zenon_H30c | zenon_intro zenon_H30d ]. % 47.42/47.58 cut (((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3)))) = ((op (e4) (e2)) = (op (e4) (op (e3) (e3))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H30f. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H30c. % 47.42/47.58 cut (((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H30d]. % 47.42/47.58 cut (((op (e4) (op (e3) (e3))) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H310]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H90 zenon_H89). % 47.42/47.58 apply zenon_H30d. apply refl_equal. % 47.42/47.58 apply zenon_H30d. apply refl_equal. % 47.42/47.58 apply zenon_H25. apply refl_equal. % 47.42/47.58 apply zenon_H30d. apply refl_equal. % 47.42/47.58 apply zenon_H30d. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L124_ *) % 47.42/47.58 assert (zenon_L125_ : ((op (e4) (e1)) = (e2)) -> ((op (e3) (e4)) = (e1)) -> (~((e2) = (op (e4) (op (e3) (e4))))) -> False). % 47.42/47.58 do 0 intro. intros zenon_Ha9 zenon_H91 zenon_H311. % 47.42/47.58 elim (classic ((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4))))); [ zenon_intro zenon_H312 | zenon_intro zenon_H313 ]. % 47.42/47.58 cut (((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4)))) = ((e2) = (op (e4) (op (e3) (e4))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H311. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H312. % 47.42/47.58 cut (((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H313]. % 47.42/47.58 cut (((op (e4) (op (e3) (e4))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H314]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e4) (e1)) = (e2)) = ((op (e4) (op (e3) (e4))) = (e2))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H314. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_Ha9. % 47.42/47.58 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.58 cut (((op (e4) (e1)) = (op (e4) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H315]. % 47.42/47.58 congruence. % 47.42/47.58 elim (classic ((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4))))); [ zenon_intro zenon_H312 | zenon_intro zenon_H313 ]. % 47.42/47.58 cut (((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4)))) = ((op (e4) (e1)) = (op (e4) (op (e3) (e4))))). % 47.42/47.58 intro zenon_D_pnotp. % 47.42/47.58 apply zenon_H315. % 47.42/47.58 rewrite <- zenon_D_pnotp. % 47.42/47.58 exact zenon_H312. % 47.42/47.58 cut (((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H313]. % 47.42/47.58 cut (((op (e4) (op (e3) (e4))) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H316]. % 47.42/47.58 congruence. % 47.42/47.58 cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.42/47.58 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.58 congruence. % 47.42/47.58 apply zenon_H1a. apply refl_equal. % 47.42/47.58 exact (zenon_H98 zenon_H91). % 47.42/47.58 apply zenon_H313. apply refl_equal. % 47.42/47.58 apply zenon_H313. apply refl_equal. % 47.42/47.58 apply zenon_H19. apply refl_equal. % 47.42/47.58 apply zenon_H313. apply refl_equal. % 47.42/47.58 apply zenon_H313. apply refl_equal. % 47.42/47.58 (* end of lemma zenon_L125_ *) % 47.42/47.58 assert (zenon_L126_ : ((op (e4) (e4)) = (e3)) -> ((op (e3) (e5)) = (e4)) -> (~((e3) = (op (e4) (op (e3) (e5))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hc1 zenon_H99 zenon_H317. % 47.42/47.59 elim (classic ((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5))))); [ zenon_intro zenon_H318 | zenon_intro zenon_H319 ]. % 47.42/47.59 cut (((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5)))) = ((e3) = (op (e4) (op (e3) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H317. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H318. % 47.42/47.59 cut (((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H319]. % 47.42/47.59 cut (((op (e4) (op (e3) (e5))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H31a]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e4) (e4)) = (e3)) = ((op (e4) (op (e3) (e5))) = (e3))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H31a. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hc1. % 47.42/47.59 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.59 cut (((op (e4) (e4)) = (op (e4) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H31b]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5))))); [ zenon_intro zenon_H318 | zenon_intro zenon_H319 ]. % 47.42/47.59 cut (((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5)))) = ((op (e4) (e4)) = (op (e4) (op (e3) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H31b. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H318. % 47.42/47.59 cut (((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H319]. % 47.42/47.59 cut (((op (e4) (op (e3) (e5))) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H31c]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 exact (zenon_Ha0 zenon_H99). % 47.42/47.59 apply zenon_H319. apply refl_equal. % 47.42/47.59 apply zenon_H319. apply refl_equal. % 47.42/47.59 apply zenon_H24. apply refl_equal. % 47.42/47.59 apply zenon_H319. apply refl_equal. % 47.42/47.59 apply zenon_H319. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L126_ *) % 47.42/47.59 assert (zenon_L127_ : ((op (e4) (e4)) = (e3)) -> ((op (e4) (e0)) = (e4)) -> (~((e3) = (op (e4) (op (e4) (e0))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hc1 zenon_Ha1 zenon_H31d. % 47.42/47.59 elim (classic ((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0))))); [ zenon_intro zenon_H31e | zenon_intro zenon_H31f ]. % 47.42/47.59 cut (((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0)))) = ((e3) = (op (e4) (op (e4) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H31d. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H31e. % 47.42/47.59 cut (((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H31f]. % 47.42/47.59 cut (((op (e4) (op (e4) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H320]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e4) (e4)) = (e3)) = ((op (e4) (op (e4) (e0))) = (e3))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H320. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hc1. % 47.42/47.59 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.59 cut (((op (e4) (e4)) = (op (e4) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H321]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0))))); [ zenon_intro zenon_H31e | zenon_intro zenon_H31f ]. % 47.42/47.59 cut (((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0)))) = ((op (e4) (e4)) = (op (e4) (op (e4) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H321. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H31e. % 47.42/47.59 cut (((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H31f]. % 47.42/47.59 cut (((op (e4) (op (e4) (e0))) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H322]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 exact (zenon_Ha8 zenon_Ha1). % 47.42/47.59 apply zenon_H31f. apply refl_equal. % 47.42/47.59 apply zenon_H31f. apply refl_equal. % 47.42/47.59 apply zenon_H24. apply refl_equal. % 47.42/47.59 apply zenon_H31f. apply refl_equal. % 47.42/47.59 apply zenon_H31f. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L127_ *) % 47.42/47.59 assert (zenon_L128_ : ((op (e4) (e2)) = (e5)) -> ((op (e4) (e1)) = (e2)) -> (~((e5) = (op (e4) (op (e4) (e1))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hb1 zenon_Ha9 zenon_H323. % 47.42/47.59 elim (classic ((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1))))); [ zenon_intro zenon_H324 | zenon_intro zenon_H325 ]. % 47.42/47.59 cut (((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1)))) = ((e5) = (op (e4) (op (e4) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H323. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H324. % 47.42/47.59 cut (((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H325]. % 47.42/47.59 cut (((op (e4) (op (e4) (e1))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H326]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e4) (e2)) = (e5)) = ((op (e4) (op (e4) (e1))) = (e5))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H326. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hb1. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 cut (((op (e4) (e2)) = (op (e4) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H327]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1))))); [ zenon_intro zenon_H324 | zenon_intro zenon_H325 ]. % 47.42/47.59 cut (((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1)))) = ((op (e4) (e2)) = (op (e4) (op (e4) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H327. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H324. % 47.42/47.59 cut (((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H325]. % 47.42/47.59 cut (((op (e4) (op (e4) (e1))) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H328]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 exact (zenon_Hb0 zenon_Ha9). % 47.42/47.59 apply zenon_H325. apply refl_equal. % 47.42/47.59 apply zenon_H325. apply refl_equal. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 apply zenon_H325. apply refl_equal. % 47.42/47.59 apply zenon_H325. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L128_ *) % 47.42/47.59 assert (zenon_L129_ : ((op (e4) (e5)) = (e0)) -> ((op (e4) (e2)) = (e5)) -> (~((e0) = (op (e4) (op (e4) (e2))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hc9 zenon_Hb1 zenon_H329. % 47.42/47.59 elim (classic ((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2))))); [ zenon_intro zenon_H32a | zenon_intro zenon_H32b ]. % 47.42/47.59 cut (((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2)))) = ((e0) = (op (e4) (op (e4) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H329. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H32a. % 47.42/47.59 cut (((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H32b]. % 47.42/47.59 cut (((op (e4) (op (e4) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H32c]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e4) (e5)) = (e0)) = ((op (e4) (op (e4) (e2))) = (e0))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H32c. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hc9. % 47.42/47.59 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.59 cut (((op (e4) (e5)) = (op (e4) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H32d]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2))))); [ zenon_intro zenon_H32a | zenon_intro zenon_H32b ]. % 47.42/47.59 cut (((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2)))) = ((op (e4) (e5)) = (op (e4) (op (e4) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H32d. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H32a. % 47.42/47.59 cut (((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H32b]. % 47.42/47.59 cut (((op (e4) (op (e4) (e2))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H32e]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 exact (zenon_Hb8 zenon_Hb1). % 47.42/47.59 apply zenon_H32b. apply refl_equal. % 47.42/47.59 apply zenon_H32b. apply refl_equal. % 47.42/47.59 apply zenon_H5. apply refl_equal. % 47.42/47.59 apply zenon_H32b. apply refl_equal. % 47.42/47.59 apply zenon_H32b. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L129_ *) % 47.42/47.59 assert (zenon_L130_ : ((op (e4) (e1)) = (e2)) -> ((op (e4) (e3)) = (e1)) -> (~((e2) = (op (e4) (op (e4) (e3))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Ha9 zenon_Hb9 zenon_H32f. % 47.42/47.59 elim (classic ((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3))))); [ zenon_intro zenon_H330 | zenon_intro zenon_H331 ]. % 47.42/47.59 cut (((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3)))) = ((e2) = (op (e4) (op (e4) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H32f. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H330. % 47.42/47.59 cut (((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H331]. % 47.42/47.59 cut (((op (e4) (op (e4) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H332]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e4) (e1)) = (e2)) = ((op (e4) (op (e4) (e3))) = (e2))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H332. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Ha9. % 47.42/47.59 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.59 cut (((op (e4) (e1)) = (op (e4) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H333]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3))))); [ zenon_intro zenon_H330 | zenon_intro zenon_H331 ]. % 47.42/47.59 cut (((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3)))) = ((op (e4) (e1)) = (op (e4) (op (e4) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H333. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H330. % 47.42/47.59 cut (((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H331]. % 47.42/47.59 cut (((op (e4) (op (e4) (e3))) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H334]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 exact (zenon_Hc0 zenon_Hb9). % 47.42/47.59 apply zenon_H331. apply refl_equal. % 47.42/47.59 apply zenon_H331. apply refl_equal. % 47.42/47.59 apply zenon_H19. apply refl_equal. % 47.42/47.59 apply zenon_H331. apply refl_equal. % 47.42/47.59 apply zenon_H331. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L130_ *) % 47.42/47.59 assert (zenon_L131_ : ((op (e4) (e3)) = (e1)) -> ((op (e4) (e4)) = (e3)) -> (~((e1) = (op (e4) (op (e4) (e4))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hb9 zenon_Hc1 zenon_H335. % 47.42/47.59 elim (classic ((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4))))); [ zenon_intro zenon_H336 | zenon_intro zenon_H337 ]. % 47.42/47.59 cut (((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4)))) = ((e1) = (op (e4) (op (e4) (e4))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H335. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H336. % 47.42/47.59 cut (((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H337]. % 47.42/47.59 cut (((op (e4) (op (e4) (e4))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H338]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e4) (e3)) = (e1)) = ((op (e4) (op (e4) (e4))) = (e1))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H338. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hb9. % 47.42/47.59 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.59 cut (((op (e4) (e3)) = (op (e4) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H339]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4))))); [ zenon_intro zenon_H336 | zenon_intro zenon_H337 ]. % 47.42/47.59 cut (((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4)))) = ((op (e4) (e3)) = (op (e4) (op (e4) (e4))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H339. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H336. % 47.42/47.59 cut (((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H337]. % 47.42/47.59 cut (((op (e4) (op (e4) (e4))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H33a]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 exact (zenon_Hc8 zenon_Hc1). % 47.42/47.59 apply zenon_H337. apply refl_equal. % 47.42/47.59 apply zenon_H337. apply refl_equal. % 47.42/47.59 apply zenon_H6. apply refl_equal. % 47.42/47.59 apply zenon_H337. apply refl_equal. % 47.42/47.59 apply zenon_H337. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L131_ *) % 47.42/47.59 assert (zenon_L132_ : ((op (e4) (e0)) = (e4)) -> ((op (e4) (e5)) = (e0)) -> (~((e4) = (op (e4) (op (e4) (e5))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Ha1 zenon_Hc9 zenon_H33b. % 47.42/47.59 elim (classic ((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5))))); [ zenon_intro zenon_H33c | zenon_intro zenon_H33d ]. % 47.42/47.59 cut (((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5)))) = ((e4) = (op (e4) (op (e4) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H33b. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H33c. % 47.42/47.59 cut (((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H33d]. % 47.42/47.59 cut (((op (e4) (op (e4) (e5))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H33e]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e4) (e0)) = (e4)) = ((op (e4) (op (e4) (e5))) = (e4))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H33e. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Ha1. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 cut (((op (e4) (e0)) = (op (e4) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H33f]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5))))); [ zenon_intro zenon_H33c | zenon_intro zenon_H33d ]. % 47.42/47.59 cut (((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5)))) = ((op (e4) (e0)) = (op (e4) (op (e4) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H33f. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H33c. % 47.42/47.59 cut (((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H33d]. % 47.42/47.59 cut (((op (e4) (op (e4) (e5))) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H340]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 exact (zenon_Hd0 zenon_Hc9). % 47.42/47.59 apply zenon_H33d. apply refl_equal. % 47.42/47.59 apply zenon_H33d. apply refl_equal. % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 apply zenon_H33d. apply refl_equal. % 47.42/47.59 apply zenon_H33d. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L132_ *) % 47.42/47.59 assert (zenon_L133_ : ((op (e5) (e1)) = (e3)) -> ((op (e1) (e0)) = (e1)) -> (~((e3) = (op (e5) (op (e1) (e0))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hd9 zenon_H8 zenon_H341. % 47.42/47.59 elim (classic ((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0))))); [ zenon_intro zenon_H342 | zenon_intro zenon_H343 ]. % 47.42/47.59 cut (((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0)))) = ((e3) = (op (e5) (op (e1) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H341. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H342. % 47.42/47.59 cut (((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H343]. % 47.42/47.59 cut (((op (e5) (op (e1) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H344]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e1)) = (e3)) = ((op (e5) (op (e1) (e0))) = (e3))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H344. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hd9. % 47.42/47.59 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.59 cut (((op (e5) (e1)) = (op (e5) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H345]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0))))); [ zenon_intro zenon_H342 | zenon_intro zenon_H343 ]. % 47.42/47.59 cut (((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0)))) = ((op (e5) (e1)) = (op (e5) (op (e1) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H345. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H342. % 47.42/47.59 cut (((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H343]. % 47.42/47.59 cut (((op (e5) (op (e1) (e0))) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H346]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_Hf zenon_H8). % 47.42/47.59 apply zenon_H343. apply refl_equal. % 47.42/47.59 apply zenon_H343. apply refl_equal. % 47.42/47.59 apply zenon_H24. apply refl_equal. % 47.42/47.59 apply zenon_H343. apply refl_equal. % 47.42/47.59 apply zenon_H343. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L133_ *) % 47.42/47.59 assert (zenon_L134_ : ((op (e5) (e0)) = (e5)) -> ((op (e1) (e1)) = (e0)) -> (~((e5) = (op (e5) (op (e1) (e1))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hd1 zenon_H11 zenon_H347. % 47.42/47.59 elim (classic ((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1))))); [ zenon_intro zenon_H348 | zenon_intro zenon_H349 ]. % 47.42/47.59 cut (((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1)))) = ((e5) = (op (e5) (op (e1) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H347. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H348. % 47.42/47.59 cut (((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H349]. % 47.42/47.59 cut (((op (e5) (op (e1) (e1))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H34a]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e0)) = (e5)) = ((op (e5) (op (e1) (e1))) = (e5))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H34a. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hd1. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 cut (((op (e5) (e0)) = (op (e5) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H34b]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1))))); [ zenon_intro zenon_H348 | zenon_intro zenon_H349 ]. % 47.42/47.59 cut (((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1)))) = ((op (e5) (e0)) = (op (e5) (op (e1) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H34b. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H348. % 47.42/47.59 cut (((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H349]. % 47.42/47.59 cut (((op (e5) (op (e1) (e1))) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H34c]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H18 zenon_H11). % 47.42/47.59 apply zenon_H349. apply refl_equal. % 47.42/47.59 apply zenon_H349. apply refl_equal. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 apply zenon_H349. apply refl_equal. % 47.42/47.59 apply zenon_H349. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L134_ *) % 47.42/47.59 assert (zenon_L135_ : ((op (e5) (e4)) = (e0)) -> ((op (e1) (e2)) = (e4)) -> (~((e0) = (op (e5) (op (e1) (e2))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hf1 zenon_H1c zenon_H34d. % 47.42/47.59 elim (classic ((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2))))); [ zenon_intro zenon_H34e | zenon_intro zenon_H34f ]. % 47.42/47.59 cut (((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2)))) = ((e0) = (op (e5) (op (e1) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H34d. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H34e. % 47.42/47.59 cut (((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H34f]. % 47.42/47.59 cut (((op (e5) (op (e1) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H350]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e4)) = (e0)) = ((op (e5) (op (e1) (e2))) = (e0))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H350. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hf1. % 47.42/47.59 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.59 cut (((op (e5) (e4)) = (op (e5) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H351]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2))))); [ zenon_intro zenon_H34e | zenon_intro zenon_H34f ]. % 47.42/47.59 cut (((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2)))) = ((op (e5) (e4)) = (op (e5) (op (e1) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H351. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H34e. % 47.42/47.59 cut (((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H34f]. % 47.42/47.59 cut (((op (e5) (op (e1) (e2))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H352]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H23 zenon_H1c). % 47.42/47.59 apply zenon_H34f. apply refl_equal. % 47.42/47.59 apply zenon_H34f. apply refl_equal. % 47.42/47.59 apply zenon_H5. apply refl_equal. % 47.42/47.59 apply zenon_H34f. apply refl_equal. % 47.42/47.59 apply zenon_H34f. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L135_ *) % 47.42/47.59 assert (zenon_L136_ : ((op (e5) (e5)) = (e2)) -> ((op (e1) (e3)) = (e5)) -> (~((e2) = (op (e5) (op (e1) (e3))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hf9 zenon_H27 zenon_H353. % 47.42/47.59 elim (classic ((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3))))); [ zenon_intro zenon_H354 | zenon_intro zenon_H355 ]. % 47.42/47.59 cut (((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3)))) = ((e2) = (op (e5) (op (e1) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H353. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H354. % 47.42/47.59 cut (((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H355]. % 47.42/47.59 cut (((op (e5) (op (e1) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H356]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e5)) = (e2)) = ((op (e5) (op (e1) (e3))) = (e2))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H356. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hf9. % 47.42/47.59 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.59 cut (((op (e5) (e5)) = (op (e5) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H357]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3))))); [ zenon_intro zenon_H354 | zenon_intro zenon_H355 ]. % 47.42/47.59 cut (((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3)))) = ((op (e5) (e5)) = (op (e5) (op (e1) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H357. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H354. % 47.42/47.59 cut (((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H355]. % 47.42/47.59 cut (((op (e5) (op (e1) (e3))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H358]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H2e zenon_H27). % 47.42/47.59 apply zenon_H355. apply refl_equal. % 47.42/47.59 apply zenon_H355. apply refl_equal. % 47.42/47.59 apply zenon_H19. apply refl_equal. % 47.42/47.59 apply zenon_H355. apply refl_equal. % 47.42/47.59 apply zenon_H355. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L136_ *) % 47.42/47.59 assert (zenon_L137_ : ((op (e5) (e2)) = (e1)) -> ((op (e1) (e4)) = (e2)) -> (~((e1) = (op (e5) (op (e1) (e4))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_He1 zenon_H30 zenon_H359. % 47.42/47.59 elim (classic ((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4))))); [ zenon_intro zenon_H35a | zenon_intro zenon_H35b ]. % 47.42/47.59 cut (((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4)))) = ((e1) = (op (e5) (op (e1) (e4))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H359. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H35a. % 47.42/47.59 cut (((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H35b]. % 47.42/47.59 cut (((op (e5) (op (e1) (e4))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H35c]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e2)) = (e1)) = ((op (e5) (op (e1) (e4))) = (e1))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H35c. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_He1. % 47.42/47.59 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.59 cut (((op (e5) (e2)) = (op (e5) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H35d]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4))))); [ zenon_intro zenon_H35a | zenon_intro zenon_H35b ]. % 47.42/47.59 cut (((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4)))) = ((op (e5) (e2)) = (op (e5) (op (e1) (e4))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H35d. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H35a. % 47.42/47.59 cut (((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H35b]. % 47.42/47.59 cut (((op (e5) (op (e1) (e4))) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H35e]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H37 zenon_H30). % 47.42/47.59 apply zenon_H35b. apply refl_equal. % 47.42/47.59 apply zenon_H35b. apply refl_equal. % 47.42/47.59 apply zenon_H6. apply refl_equal. % 47.42/47.59 apply zenon_H35b. apply refl_equal. % 47.42/47.59 apply zenon_H35b. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L137_ *) % 47.42/47.59 assert (zenon_L138_ : ((op (e5) (e3)) = (e4)) -> ((op (e1) (e5)) = (e3)) -> (~((e4) = (op (e5) (op (e1) (e5))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_He9 zenon_H39 zenon_H35f. % 47.42/47.59 elim (classic ((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5))))); [ zenon_intro zenon_H360 | zenon_intro zenon_H361 ]. % 47.42/47.59 cut (((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5)))) = ((e4) = (op (e5) (op (e1) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H35f. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H360. % 47.42/47.59 cut (((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H361]. % 47.42/47.59 cut (((op (e5) (op (e1) (e5))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H362]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e3)) = (e4)) = ((op (e5) (op (e1) (e5))) = (e4))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H362. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_He9. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 cut (((op (e5) (e3)) = (op (e5) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H363]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5))))); [ zenon_intro zenon_H360 | zenon_intro zenon_H361 ]. % 47.42/47.59 cut (((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5)))) = ((op (e5) (e3)) = (op (e5) (op (e1) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H363. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H360. % 47.42/47.59 cut (((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H361]. % 47.42/47.59 cut (((op (e5) (op (e1) (e5))) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H364]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H40 zenon_H39). % 47.42/47.59 apply zenon_H361. apply refl_equal. % 47.42/47.59 apply zenon_H361. apply refl_equal. % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 apply zenon_H361. apply refl_equal. % 47.42/47.59 apply zenon_H361. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L138_ *) % 47.42/47.59 assert (zenon_L139_ : ((op (e5) (e2)) = (e1)) -> ((op (e2) (e0)) = (e2)) -> (~((e1) = (op (e5) (op (e2) (e0))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_He1 zenon_H41 zenon_H365. % 47.42/47.59 elim (classic ((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0))))); [ zenon_intro zenon_H366 | zenon_intro zenon_H367 ]. % 47.42/47.59 cut (((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0)))) = ((e1) = (op (e5) (op (e2) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H365. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H366. % 47.42/47.59 cut (((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H367]. % 47.42/47.59 cut (((op (e5) (op (e2) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H368]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e2)) = (e1)) = ((op (e5) (op (e2) (e0))) = (e1))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H368. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_He1. % 47.42/47.59 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.59 cut (((op (e5) (e2)) = (op (e5) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H369]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0))))); [ zenon_intro zenon_H366 | zenon_intro zenon_H367 ]. % 47.42/47.59 cut (((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0)))) = ((op (e5) (e2)) = (op (e5) (op (e2) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H369. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H366. % 47.42/47.59 cut (((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H367]. % 47.42/47.59 cut (((op (e5) (op (e2) (e0))) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H36a]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H48 zenon_H41). % 47.42/47.59 apply zenon_H367. apply refl_equal. % 47.42/47.59 apply zenon_H367. apply refl_equal. % 47.42/47.59 apply zenon_H6. apply refl_equal. % 47.42/47.59 apply zenon_H367. apply refl_equal. % 47.42/47.59 apply zenon_H367. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L139_ *) % 47.42/47.59 assert (zenon_L140_ : ((op (e5) (e4)) = (e0)) -> ((op (e2) (e1)) = (e4)) -> (~((e0) = (op (e5) (op (e2) (e1))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hf1 zenon_H49 zenon_H36b. % 47.42/47.59 elim (classic ((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1))))); [ zenon_intro zenon_H36c | zenon_intro zenon_H36d ]. % 47.42/47.59 cut (((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1)))) = ((e0) = (op (e5) (op (e2) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H36b. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H36c. % 47.42/47.59 cut (((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H36d]. % 47.42/47.59 cut (((op (e5) (op (e2) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H36e]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e4)) = (e0)) = ((op (e5) (op (e2) (e1))) = (e0))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H36e. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hf1. % 47.42/47.59 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.59 cut (((op (e5) (e4)) = (op (e5) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H36f]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1))))); [ zenon_intro zenon_H36c | zenon_intro zenon_H36d ]. % 47.42/47.59 cut (((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1)))) = ((op (e5) (e4)) = (op (e5) (op (e2) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H36f. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H36c. % 47.42/47.59 cut (((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H36d]. % 47.42/47.59 cut (((op (e5) (op (e2) (e1))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H370]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H50 zenon_H49). % 47.42/47.59 apply zenon_H36d. apply refl_equal. % 47.42/47.59 apply zenon_H36d. apply refl_equal. % 47.42/47.59 apply zenon_H5. apply refl_equal. % 47.42/47.59 apply zenon_H36d. apply refl_equal. % 47.42/47.59 apply zenon_H36d. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L140_ *) % 47.42/47.59 assert (zenon_L141_ : ((op (e5) (e3)) = (e4)) -> ((op (e2) (e2)) = (e3)) -> (~((e4) = (op (e5) (op (e2) (e2))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_He9 zenon_H51 zenon_H371. % 47.42/47.59 elim (classic ((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2))))); [ zenon_intro zenon_H372 | zenon_intro zenon_H373 ]. % 47.42/47.59 cut (((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2)))) = ((e4) = (op (e5) (op (e2) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H371. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H372. % 47.42/47.59 cut (((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H373]. % 47.42/47.59 cut (((op (e5) (op (e2) (e2))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H374]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e3)) = (e4)) = ((op (e5) (op (e2) (e2))) = (e4))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H374. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_He9. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 cut (((op (e5) (e3)) = (op (e5) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H375]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2))))); [ zenon_intro zenon_H372 | zenon_intro zenon_H373 ]. % 47.42/47.59 cut (((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2)))) = ((op (e5) (e3)) = (op (e5) (op (e2) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H375. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H372. % 47.42/47.59 cut (((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H373]. % 47.42/47.59 cut (((op (e5) (op (e2) (e2))) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H376]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H58 zenon_H51). % 47.42/47.59 apply zenon_H373. apply refl_equal. % 47.42/47.59 apply zenon_H373. apply refl_equal. % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 apply zenon_H373. apply refl_equal. % 47.42/47.59 apply zenon_H373. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L141_ *) % 47.42/47.59 assert (zenon_L142_ : ((op (e5) (e0)) = (e5)) -> ((op (e2) (e3)) = (e0)) -> (~((e5) = (op (e5) (op (e2) (e3))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hd1 zenon_H59 zenon_H377. % 47.42/47.59 elim (classic ((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3))))); [ zenon_intro zenon_H378 | zenon_intro zenon_H379 ]. % 47.42/47.59 cut (((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3)))) = ((e5) = (op (e5) (op (e2) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H377. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H378. % 47.42/47.59 cut (((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H379]. % 47.42/47.59 cut (((op (e5) (op (e2) (e3))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H37a]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e0)) = (e5)) = ((op (e5) (op (e2) (e3))) = (e5))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H37a. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hd1. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 cut (((op (e5) (e0)) = (op (e5) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H37b]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3))))); [ zenon_intro zenon_H378 | zenon_intro zenon_H379 ]. % 47.42/47.59 cut (((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3)))) = ((op (e5) (e0)) = (op (e5) (op (e2) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H37b. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H378. % 47.42/47.59 cut (((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H379]. % 47.42/47.59 cut (((op (e5) (op (e2) (e3))) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H37c]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H60 zenon_H59). % 47.42/47.59 apply zenon_H379. apply refl_equal. % 47.42/47.59 apply zenon_H379. apply refl_equal. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 apply zenon_H379. apply refl_equal. % 47.42/47.59 apply zenon_H379. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L142_ *) % 47.42/47.59 assert (zenon_L143_ : ((op (e5) (e5)) = (e2)) -> ((op (e2) (e4)) = (e5)) -> (~((e2) = (op (e5) (op (e2) (e4))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hf9 zenon_H61 zenon_H37d. % 47.42/47.59 elim (classic ((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4))))); [ zenon_intro zenon_H37e | zenon_intro zenon_H37f ]. % 47.42/47.59 cut (((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4)))) = ((e2) = (op (e5) (op (e2) (e4))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H37d. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H37e. % 47.42/47.59 cut (((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H37f]. % 47.42/47.59 cut (((op (e5) (op (e2) (e4))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H380]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e5)) = (e2)) = ((op (e5) (op (e2) (e4))) = (e2))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H380. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hf9. % 47.42/47.59 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.59 cut (((op (e5) (e5)) = (op (e5) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H381]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4))))); [ zenon_intro zenon_H37e | zenon_intro zenon_H37f ]. % 47.42/47.59 cut (((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4)))) = ((op (e5) (e5)) = (op (e5) (op (e2) (e4))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H381. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H37e. % 47.42/47.59 cut (((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H37f]. % 47.42/47.59 cut (((op (e5) (op (e2) (e4))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H382]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H68 zenon_H61). % 47.42/47.59 apply zenon_H37f. apply refl_equal. % 47.42/47.59 apply zenon_H37f. apply refl_equal. % 47.42/47.59 apply zenon_H19. apply refl_equal. % 47.42/47.59 apply zenon_H37f. apply refl_equal. % 47.42/47.59 apply zenon_H37f. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L143_ *) % 47.42/47.59 assert (zenon_L144_ : ((op (e5) (e1)) = (e3)) -> ((op (e2) (e5)) = (e1)) -> (~((e3) = (op (e5) (op (e2) (e5))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hd9 zenon_H69 zenon_H383. % 47.42/47.59 elim (classic ((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5))))); [ zenon_intro zenon_H384 | zenon_intro zenon_H385 ]. % 47.42/47.59 cut (((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5)))) = ((e3) = (op (e5) (op (e2) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H383. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H384. % 47.42/47.59 cut (((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H385]. % 47.42/47.59 cut (((op (e5) (op (e2) (e5))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H386]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e1)) = (e3)) = ((op (e5) (op (e2) (e5))) = (e3))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H386. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hd9. % 47.42/47.59 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.59 cut (((op (e5) (e1)) = (op (e5) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H387]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5))))); [ zenon_intro zenon_H384 | zenon_intro zenon_H385 ]. % 47.42/47.59 cut (((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5)))) = ((op (e5) (e1)) = (op (e5) (op (e2) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H387. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H384. % 47.42/47.59 cut (((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H385]. % 47.42/47.59 cut (((op (e5) (op (e2) (e5))) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H388]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H70 zenon_H69). % 47.42/47.59 apply zenon_H385. apply refl_equal. % 47.42/47.59 apply zenon_H385. apply refl_equal. % 47.42/47.59 apply zenon_H24. apply refl_equal. % 47.42/47.59 apply zenon_H385. apply refl_equal. % 47.42/47.59 apply zenon_H385. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L144_ *) % 47.42/47.59 assert (zenon_L145_ : ((op (e5) (e3)) = (e4)) -> ((op (e3) (e0)) = (e3)) -> (~((e4) = (op (e5) (op (e3) (e0))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_He9 zenon_H71 zenon_H389. % 47.42/47.59 elim (classic ((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0))))); [ zenon_intro zenon_H38a | zenon_intro zenon_H38b ]. % 47.42/47.59 cut (((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0)))) = ((e4) = (op (e5) (op (e3) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H389. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H38a. % 47.42/47.59 cut (((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H38b]. % 47.42/47.59 cut (((op (e5) (op (e3) (e0))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H38c]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e3)) = (e4)) = ((op (e5) (op (e3) (e0))) = (e4))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H38c. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_He9. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 cut (((op (e5) (e3)) = (op (e5) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H38d]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0))))); [ zenon_intro zenon_H38a | zenon_intro zenon_H38b ]. % 47.42/47.59 cut (((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0)))) = ((op (e5) (e3)) = (op (e5) (op (e3) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H38d. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H38a. % 47.42/47.59 cut (((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H38b]. % 47.42/47.59 cut (((op (e5) (op (e3) (e0))) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H38e]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H78 zenon_H71). % 47.42/47.59 apply zenon_H38b. apply refl_equal. % 47.42/47.59 apply zenon_H38b. apply refl_equal. % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 apply zenon_H38b. apply refl_equal. % 47.42/47.59 apply zenon_H38b. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L145_ *) % 47.42/47.59 assert (zenon_L146_ : ((op (e5) (e5)) = (e2)) -> ((op (e3) (e1)) = (e5)) -> (~((e2) = (op (e5) (op (e3) (e1))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hf9 zenon_H79 zenon_H38f. % 47.42/47.59 elim (classic ((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1))))); [ zenon_intro zenon_H390 | zenon_intro zenon_H391 ]. % 47.42/47.59 cut (((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1)))) = ((e2) = (op (e5) (op (e3) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H38f. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H390. % 47.42/47.59 cut (((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H391]. % 47.42/47.59 cut (((op (e5) (op (e3) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H392]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e5)) = (e2)) = ((op (e5) (op (e3) (e1))) = (e2))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H392. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hf9. % 47.42/47.59 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.59 cut (((op (e5) (e5)) = (op (e5) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H393]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1))))); [ zenon_intro zenon_H390 | zenon_intro zenon_H391 ]. % 47.42/47.59 cut (((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1)))) = ((op (e5) (e5)) = (op (e5) (op (e3) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H393. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H390. % 47.42/47.59 cut (((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H391]. % 47.42/47.59 cut (((op (e5) (op (e3) (e1))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H394]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H80 zenon_H79). % 47.42/47.59 apply zenon_H391. apply refl_equal. % 47.42/47.59 apply zenon_H391. apply refl_equal. % 47.42/47.59 apply zenon_H19. apply refl_equal. % 47.42/47.59 apply zenon_H391. apply refl_equal. % 47.42/47.59 apply zenon_H391. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L146_ *) % 47.42/47.59 assert (zenon_L147_ : ((op (e5) (e0)) = (e5)) -> ((op (e3) (e2)) = (e0)) -> (~((e5) = (op (e5) (op (e3) (e2))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hd1 zenon_H81 zenon_H395. % 47.42/47.59 elim (classic ((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2))))); [ zenon_intro zenon_H396 | zenon_intro zenon_H397 ]. % 47.42/47.59 cut (((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2)))) = ((e5) = (op (e5) (op (e3) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H395. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H396. % 47.42/47.59 cut (((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H397]. % 47.42/47.59 cut (((op (e5) (op (e3) (e2))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H398]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e0)) = (e5)) = ((op (e5) (op (e3) (e2))) = (e5))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H398. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hd1. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 cut (((op (e5) (e0)) = (op (e5) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H399]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2))))); [ zenon_intro zenon_H396 | zenon_intro zenon_H397 ]. % 47.42/47.59 cut (((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2)))) = ((op (e5) (e0)) = (op (e5) (op (e3) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H399. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H396. % 47.42/47.59 cut (((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H397]. % 47.42/47.59 cut (((op (e5) (op (e3) (e2))) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H39a]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H88 zenon_H81). % 47.42/47.59 apply zenon_H397. apply refl_equal. % 47.42/47.59 apply zenon_H397. apply refl_equal. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 apply zenon_H397. apply refl_equal. % 47.42/47.59 apply zenon_H397. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L147_ *) % 47.42/47.59 assert (zenon_L148_ : ((op (e5) (e2)) = (e1)) -> ((op (e3) (e3)) = (e2)) -> (~((e1) = (op (e5) (op (e3) (e3))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_He1 zenon_H89 zenon_H39b. % 47.42/47.59 elim (classic ((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3))))); [ zenon_intro zenon_H39c | zenon_intro zenon_H39d ]. % 47.42/47.59 cut (((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3)))) = ((e1) = (op (e5) (op (e3) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H39b. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H39c. % 47.42/47.59 cut (((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H39d]. % 47.42/47.59 cut (((op (e5) (op (e3) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H39e]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e2)) = (e1)) = ((op (e5) (op (e3) (e3))) = (e1))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H39e. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_He1. % 47.42/47.59 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.59 cut (((op (e5) (e2)) = (op (e5) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H39f]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3))))); [ zenon_intro zenon_H39c | zenon_intro zenon_H39d ]. % 47.42/47.59 cut (((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3)))) = ((op (e5) (e2)) = (op (e5) (op (e3) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H39f. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H39c. % 47.42/47.59 cut (((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H39d]. % 47.42/47.59 cut (((op (e5) (op (e3) (e3))) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H3a0]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H90 zenon_H89). % 47.42/47.59 apply zenon_H39d. apply refl_equal. % 47.42/47.59 apply zenon_H39d. apply refl_equal. % 47.42/47.59 apply zenon_H6. apply refl_equal. % 47.42/47.59 apply zenon_H39d. apply refl_equal. % 47.42/47.59 apply zenon_H39d. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L148_ *) % 47.42/47.59 assert (zenon_L149_ : ((op (e5) (e1)) = (e3)) -> ((op (e3) (e4)) = (e1)) -> (~((e3) = (op (e5) (op (e3) (e4))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hd9 zenon_H91 zenon_H3a1. % 47.42/47.59 elim (classic ((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4))))); [ zenon_intro zenon_H3a2 | zenon_intro zenon_H3a3 ]. % 47.42/47.59 cut (((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4)))) = ((e3) = (op (e5) (op (e3) (e4))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3a1. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3a2. % 47.42/47.59 cut (((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3a3]. % 47.42/47.59 cut (((op (e5) (op (e3) (e4))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H3a4]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e1)) = (e3)) = ((op (e5) (op (e3) (e4))) = (e3))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3a4. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hd9. % 47.42/47.59 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.59 cut (((op (e5) (e1)) = (op (e5) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3a5]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4))))); [ zenon_intro zenon_H3a2 | zenon_intro zenon_H3a3 ]. % 47.42/47.59 cut (((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4)))) = ((op (e5) (e1)) = (op (e5) (op (e3) (e4))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3a5. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3a2. % 47.42/47.59 cut (((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3a3]. % 47.42/47.59 cut (((op (e5) (op (e3) (e4))) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H3a6]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H98 zenon_H91). % 47.42/47.59 apply zenon_H3a3. apply refl_equal. % 47.42/47.59 apply zenon_H3a3. apply refl_equal. % 47.42/47.59 apply zenon_H24. apply refl_equal. % 47.42/47.59 apply zenon_H3a3. apply refl_equal. % 47.42/47.59 apply zenon_H3a3. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L149_ *) % 47.42/47.59 assert (zenon_L150_ : ((op (e5) (e4)) = (e0)) -> ((op (e3) (e5)) = (e4)) -> (~((e0) = (op (e5) (op (e3) (e5))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hf1 zenon_H99 zenon_H3a7. % 47.42/47.59 elim (classic ((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5))))); [ zenon_intro zenon_H3a8 | zenon_intro zenon_H3a9 ]. % 47.42/47.59 cut (((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5)))) = ((e0) = (op (e5) (op (e3) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3a7. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3a8. % 47.42/47.59 cut (((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3a9]. % 47.42/47.59 cut (((op (e5) (op (e3) (e5))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3aa]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e4)) = (e0)) = ((op (e5) (op (e3) (e5))) = (e0))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3aa. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hf1. % 47.42/47.59 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.59 cut (((op (e5) (e4)) = (op (e5) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3ab]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5))))); [ zenon_intro zenon_H3a8 | zenon_intro zenon_H3a9 ]. % 47.42/47.59 cut (((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5)))) = ((op (e5) (e4)) = (op (e5) (op (e3) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3ab. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3a8. % 47.42/47.59 cut (((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3a9]. % 47.42/47.59 cut (((op (e5) (op (e3) (e5))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H3ac]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_Ha0 zenon_H99). % 47.42/47.59 apply zenon_H3a9. apply refl_equal. % 47.42/47.59 apply zenon_H3a9. apply refl_equal. % 47.42/47.59 apply zenon_H5. apply refl_equal. % 47.42/47.59 apply zenon_H3a9. apply refl_equal. % 47.42/47.59 apply zenon_H3a9. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L150_ *) % 47.42/47.59 assert (zenon_L151_ : ((op (e5) (e5)) = (e2)) -> ((op (e5) (e0)) = (e5)) -> (~((e2) = (op (e5) (op (e5) (e0))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hf9 zenon_Hd1 zenon_H3ad. % 47.42/47.59 elim (classic ((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0))))); [ zenon_intro zenon_H3ae | zenon_intro zenon_H3af ]. % 47.42/47.59 cut (((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0)))) = ((e2) = (op (e5) (op (e5) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3ad. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3ae. % 47.42/47.59 cut (((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H3af]. % 47.42/47.59 cut (((op (e5) (op (e5) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H3b0]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e5)) = (e2)) = ((op (e5) (op (e5) (e0))) = (e2))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3b0. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hf9. % 47.42/47.59 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.59 cut (((op (e5) (e5)) = (op (e5) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H3b1]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0))))); [ zenon_intro zenon_H3ae | zenon_intro zenon_H3af ]. % 47.42/47.59 cut (((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0)))) = ((op (e5) (e5)) = (op (e5) (op (e5) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3b1. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3ae. % 47.42/47.59 cut (((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H3af]. % 47.42/47.59 cut (((op (e5) (op (e5) (e0))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H3b2]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_Hd8 zenon_Hd1). % 47.42/47.59 apply zenon_H3af. apply refl_equal. % 47.42/47.59 apply zenon_H3af. apply refl_equal. % 47.42/47.59 apply zenon_H19. apply refl_equal. % 47.42/47.59 apply zenon_H3af. apply refl_equal. % 47.42/47.59 apply zenon_H3af. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L151_ *) % 47.42/47.59 assert (zenon_L152_ : ((op (e5) (e3)) = (e4)) -> ((op (e5) (e1)) = (e3)) -> (~((e4) = (op (e5) (op (e5) (e1))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_He9 zenon_Hd9 zenon_H3b3. % 47.42/47.59 elim (classic ((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1))))); [ zenon_intro zenon_H3b4 | zenon_intro zenon_H3b5 ]. % 47.42/47.59 cut (((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1)))) = ((e4) = (op (e5) (op (e5) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3b3. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3b4. % 47.42/47.59 cut (((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H3b5]. % 47.42/47.59 cut (((op (e5) (op (e5) (e1))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H3b6]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e3)) = (e4)) = ((op (e5) (op (e5) (e1))) = (e4))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3b6. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_He9. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 cut (((op (e5) (e3)) = (op (e5) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H3b7]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1))))); [ zenon_intro zenon_H3b4 | zenon_intro zenon_H3b5 ]. % 47.42/47.59 cut (((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1)))) = ((op (e5) (e3)) = (op (e5) (op (e5) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3b7. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3b4. % 47.42/47.59 cut (((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H3b5]. % 47.42/47.59 cut (((op (e5) (op (e5) (e1))) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H3b8]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_He0 zenon_Hd9). % 47.42/47.59 apply zenon_H3b5. apply refl_equal. % 47.42/47.59 apply zenon_H3b5. apply refl_equal. % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 apply zenon_H3b5. apply refl_equal. % 47.42/47.59 apply zenon_H3b5. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L152_ *) % 47.42/47.59 assert (zenon_L153_ : ((op (e5) (e1)) = (e3)) -> ((op (e5) (e2)) = (e1)) -> (~((e3) = (op (e5) (op (e5) (e2))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hd9 zenon_He1 zenon_H3b9. % 47.42/47.59 elim (classic ((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2))))); [ zenon_intro zenon_H3ba | zenon_intro zenon_H3bb ]. % 47.42/47.59 cut (((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2)))) = ((e3) = (op (e5) (op (e5) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3b9. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3ba. % 47.42/47.59 cut (((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H3bb]. % 47.42/47.59 cut (((op (e5) (op (e5) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H3bc]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e1)) = (e3)) = ((op (e5) (op (e5) (e2))) = (e3))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3bc. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hd9. % 47.42/47.59 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.59 cut (((op (e5) (e1)) = (op (e5) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H3bd]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2))))); [ zenon_intro zenon_H3ba | zenon_intro zenon_H3bb ]. % 47.42/47.59 cut (((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2)))) = ((op (e5) (e1)) = (op (e5) (op (e5) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3bd. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3ba. % 47.42/47.59 cut (((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H3bb]. % 47.42/47.59 cut (((op (e5) (op (e5) (e2))) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H3be]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_He8 zenon_He1). % 47.42/47.59 apply zenon_H3bb. apply refl_equal. % 47.42/47.59 apply zenon_H3bb. apply refl_equal. % 47.42/47.59 apply zenon_H24. apply refl_equal. % 47.42/47.59 apply zenon_H3bb. apply refl_equal. % 47.42/47.59 apply zenon_H3bb. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L153_ *) % 47.42/47.59 assert (zenon_L154_ : ((op (e5) (e4)) = (e0)) -> ((op (e5) (e3)) = (e4)) -> (~((e0) = (op (e5) (op (e5) (e3))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hf1 zenon_He9 zenon_H3bf. % 47.42/47.59 elim (classic ((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3))))); [ zenon_intro zenon_H3c0 | zenon_intro zenon_H3c1 ]. % 47.42/47.59 cut (((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3)))) = ((e0) = (op (e5) (op (e5) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3bf. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3c0. % 47.42/47.59 cut (((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H3c1]. % 47.42/47.59 cut (((op (e5) (op (e5) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3c2]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e4)) = (e0)) = ((op (e5) (op (e5) (e3))) = (e0))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3c2. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hf1. % 47.42/47.59 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.59 cut (((op (e5) (e4)) = (op (e5) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H3c3]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3))))); [ zenon_intro zenon_H3c0 | zenon_intro zenon_H3c1 ]. % 47.42/47.59 cut (((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3)))) = ((op (e5) (e4)) = (op (e5) (op (e5) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3c3. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3c0. % 47.42/47.59 cut (((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H3c1]. % 47.42/47.59 cut (((op (e5) (op (e5) (e3))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H3c4]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_Hf0 zenon_He9). % 47.42/47.59 apply zenon_H3c1. apply refl_equal. % 47.42/47.59 apply zenon_H3c1. apply refl_equal. % 47.42/47.59 apply zenon_H5. apply refl_equal. % 47.42/47.59 apply zenon_H3c1. apply refl_equal. % 47.42/47.59 apply zenon_H3c1. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L154_ *) % 47.42/47.59 assert (zenon_L155_ : ((op (e5) (e0)) = (e5)) -> ((op (e5) (e4)) = (e0)) -> (~((e5) = (op (e5) (op (e5) (e4))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_Hd1 zenon_Hf1 zenon_H3c5. % 47.42/47.59 elim (classic ((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4))))); [ zenon_intro zenon_H3c6 | zenon_intro zenon_H3c7 ]. % 47.42/47.59 cut (((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4)))) = ((e5) = (op (e5) (op (e5) (e4))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3c5. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3c6. % 47.42/47.59 cut (((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3c7]. % 47.42/47.59 cut (((op (e5) (op (e5) (e4))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H3c8]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e0)) = (e5)) = ((op (e5) (op (e5) (e4))) = (e5))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3c8. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hd1. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 cut (((op (e5) (e0)) = (op (e5) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3c9]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4))))); [ zenon_intro zenon_H3c6 | zenon_intro zenon_H3c7 ]. % 47.42/47.59 cut (((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4)))) = ((op (e5) (e0)) = (op (e5) (op (e5) (e4))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3c9. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3c6. % 47.42/47.59 cut (((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3c7]. % 47.42/47.59 cut (((op (e5) (op (e5) (e4))) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H3ca]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_Hf8 zenon_Hf1). % 47.42/47.59 apply zenon_H3c7. apply refl_equal. % 47.42/47.59 apply zenon_H3c7. apply refl_equal. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 apply zenon_H3c7. apply refl_equal. % 47.42/47.59 apply zenon_H3c7. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L155_ *) % 47.42/47.59 assert (zenon_L156_ : ((op (e5) (e2)) = (e1)) -> ((op (e5) (e5)) = (e2)) -> (~((e1) = (op (e5) (op (e5) (e5))))) -> False). % 47.42/47.59 do 0 intro. intros zenon_He1 zenon_Hf9 zenon_H3cb. % 47.42/47.59 elim (classic ((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5))))); [ zenon_intro zenon_H3cc | zenon_intro zenon_H3cd ]. % 47.42/47.59 cut (((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5)))) = ((e1) = (op (e5) (op (e5) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3cb. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3cc. % 47.42/47.59 cut (((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3cd]. % 47.42/47.59 cut (((op (e5) (op (e5) (e5))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H3ce]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e2)) = (e1)) = ((op (e5) (op (e5) (e5))) = (e1))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3ce. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_He1. % 47.42/47.59 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.59 cut (((op (e5) (e2)) = (op (e5) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3cf]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5))))); [ zenon_intro zenon_H3cc | zenon_intro zenon_H3cd ]. % 47.42/47.59 cut (((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5)))) = ((op (e5) (e2)) = (op (e5) (op (e5) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H3cf. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H3cc. % 47.42/47.59 cut (((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3cd]. % 47.42/47.59 cut (((op (e5) (op (e5) (e5))) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H3d0]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 exact (zenon_H100 zenon_Hf9). % 47.42/47.59 apply zenon_H3cd. apply refl_equal. % 47.42/47.59 apply zenon_H3cd. apply refl_equal. % 47.42/47.59 apply zenon_H6. apply refl_equal. % 47.42/47.59 apply zenon_H3cd. apply refl_equal. % 47.42/47.59 apply zenon_H3cd. apply refl_equal. % 47.42/47.59 (* end of lemma zenon_L156_ *) % 47.42/47.59 assert (zenon_L157_ : (~((unit) = (e0))) -> False). % 47.42/47.59 do 0 intro. intros zenon_H3d1. % 47.42/47.59 exact (zenon_H3d1 ax3). % 47.42/47.59 (* end of lemma zenon_L157_ *) % 47.42/47.59 apply NNPP. intro zenon_G. % 47.42/47.59 apply (zenon_and_s _ _ ax2). zenon_intro zenon_H10. zenon_intro zenon_H3d2. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3d2). zenon_intro zenon_H7. zenon_intro zenon_H3d3. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3d3). zenon_intro zenon_H2f. zenon_intro zenon_H3d4. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3d4). zenon_intro zenon_H38. zenon_intro zenon_H3d5. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3d5). zenon_intro zenon_H1b. zenon_intro zenon_H3d6. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3d6). zenon_intro zenon_H26. zenon_intro zenon_H3d7. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3d7). zenon_intro zenon_H8. zenon_intro zenon_H3d8. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3d8). zenon_intro zenon_H11. zenon_intro zenon_H3d9. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3d9). zenon_intro zenon_H1c. zenon_intro zenon_H3da. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3da). zenon_intro zenon_H27. zenon_intro zenon_H3db. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3db). zenon_intro zenon_H30. zenon_intro zenon_H3dc. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3dc). zenon_intro zenon_H39. zenon_intro zenon_H3dd. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H41. zenon_intro zenon_H3de. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3de). zenon_intro zenon_H49. zenon_intro zenon_H3df. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3df). zenon_intro zenon_H51. zenon_intro zenon_H3e0. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3e0). zenon_intro zenon_H59. zenon_intro zenon_H3e1. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3e1). zenon_intro zenon_H61. zenon_intro zenon_H3e2. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3e2). zenon_intro zenon_H69. zenon_intro zenon_H3e3. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3e3). zenon_intro zenon_H71. zenon_intro zenon_H3e4. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H79. zenon_intro zenon_H3e5. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3e5). zenon_intro zenon_H81. zenon_intro zenon_H3e6. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3e6). zenon_intro zenon_H89. zenon_intro zenon_H3e7. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3e7). zenon_intro zenon_H91. zenon_intro zenon_H3e8. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3e8). zenon_intro zenon_H99. zenon_intro zenon_H3e9. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3e9). zenon_intro zenon_Ha1. zenon_intro zenon_H3ea. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_Ha9. zenon_intro zenon_H3eb. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3eb). zenon_intro zenon_Hb1. zenon_intro zenon_H3ec. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3ec). zenon_intro zenon_Hb9. zenon_intro zenon_H3ed. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3ed). zenon_intro zenon_Hc1. zenon_intro zenon_H3ee. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3ee). zenon_intro zenon_Hc9. zenon_intro zenon_H3ef. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3ef). zenon_intro zenon_Hd1. zenon_intro zenon_H3f0. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3f0). zenon_intro zenon_Hd9. zenon_intro zenon_H3f1. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3f1). zenon_intro zenon_He1. zenon_intro zenon_H3f2. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3f2). zenon_intro zenon_He9. zenon_intro zenon_H3f3. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3f3). zenon_intro zenon_Hf1. zenon_intro zenon_Hf9. % 47.42/47.59 apply (zenon_and_s _ _ ax4). zenon_intro zenon_H3f5. zenon_intro zenon_H3f4. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3f4). zenon_intro zenon_H3f7. zenon_intro zenon_H3f6. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3f6). zenon_intro zenon_H3f9. zenon_intro zenon_H3f8. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3f8). zenon_intro zenon_H3fb. zenon_intro zenon_H3fa. % 47.42/47.59 apply (zenon_and_s _ _ zenon_H3fa). zenon_intro zenon_H3fd. zenon_intro zenon_H3fc. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_G); [ zenon_intro zenon_H3ff | zenon_intro zenon_H3fe ]. % 47.42/47.59 apply zenon_H3ff. apply refl_equal. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H3fe); [ zenon_intro zenon_H401 | zenon_intro zenon_H400 ]. % 47.42/47.59 cut (((op (e0) (e1)) = (e1)) = ((op (e0) (e1)) = (op (e1) (e0)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H401. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H7. % 47.42/47.59 cut (((e1) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H402]. % 47.42/47.59 cut (((op (e0) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H403]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H403. apply refl_equal. % 47.42/47.59 apply zenon_H402. apply sym_equal. exact zenon_H8. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H400); [ zenon_intro zenon_H405 | zenon_intro zenon_H404 ]. % 47.42/47.59 cut (((op (e0) (e2)) = (e2)) = ((op (e0) (e2)) = (op (e2) (e0)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H405. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H2f. % 47.42/47.59 cut (((e2) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H406]. % 47.42/47.59 cut (((op (e0) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H407]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H407. apply refl_equal. % 47.42/47.59 apply zenon_H406. apply sym_equal. exact zenon_H41. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H404); [ zenon_intro zenon_H409 | zenon_intro zenon_H408 ]. % 47.42/47.59 cut (((op (e0) (e3)) = (e3)) = ((op (e0) (e3)) = (op (e3) (e0)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H409. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H38. % 47.42/47.59 cut (((e3) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H40a]. % 47.42/47.59 cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H40b]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H40b. apply refl_equal. % 47.42/47.59 apply zenon_H40a. apply sym_equal. exact zenon_H71. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H408); [ zenon_intro zenon_H40d | zenon_intro zenon_H40c ]. % 47.42/47.59 cut (((op (e0) (e4)) = (e4)) = ((op (e0) (e4)) = (op (e4) (e0)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H40d. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H1b. % 47.42/47.59 cut (((e4) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H40e]. % 47.42/47.59 cut (((op (e0) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H40f]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H40f. apply refl_equal. % 47.42/47.59 apply zenon_H40e. apply sym_equal. exact zenon_Ha1. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H40c); [ zenon_intro zenon_H411 | zenon_intro zenon_H410 ]. % 47.42/47.59 cut (((op (e0) (e5)) = (e5)) = ((op (e0) (e5)) = (op (e5) (e0)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H411. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H26. % 47.42/47.59 cut (((e5) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H412]. % 47.42/47.59 cut (((op (e0) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H413]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H413. apply refl_equal. % 47.42/47.59 apply zenon_H412. apply sym_equal. exact zenon_Hd1. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H410); [ zenon_intro zenon_H415 | zenon_intro zenon_H414 ]. % 47.42/47.59 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (e0)) = (op (e0) (e1)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H415. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H8. % 47.42/47.59 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H416]. % 47.42/47.59 cut (((op (e1) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H417]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H417. apply refl_equal. % 47.42/47.59 apply zenon_H416. apply sym_equal. exact zenon_H7. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H414); [ zenon_intro zenon_H419 | zenon_intro zenon_H418 ]. % 47.42/47.59 apply zenon_H419. apply refl_equal. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H418); [ zenon_intro zenon_H41b | zenon_intro zenon_H41a ]. % 47.42/47.59 cut (((op (e1) (e2)) = (e4)) = ((op (e1) (e2)) = (op (e2) (e1)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H41b. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H1c. % 47.42/47.59 cut (((e4) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H41c]. % 47.42/47.59 cut (((op (e1) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H41d]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H41d. apply refl_equal. % 47.42/47.59 apply zenon_H41c. apply sym_equal. exact zenon_H49. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H41a); [ zenon_intro zenon_H41f | zenon_intro zenon_H41e ]. % 47.42/47.59 cut (((op (e1) (e3)) = (e5)) = ((op (e1) (e3)) = (op (e3) (e1)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H41f. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H27. % 47.42/47.59 cut (((e5) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H420]. % 47.42/47.59 cut (((op (e1) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H421]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H421. apply refl_equal. % 47.42/47.59 apply zenon_H420. apply sym_equal. exact zenon_H79. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H41e); [ zenon_intro zenon_H423 | zenon_intro zenon_H422 ]. % 47.42/47.59 cut (((op (e1) (e4)) = (e2)) = ((op (e1) (e4)) = (op (e4) (e1)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H423. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H30. % 47.42/47.59 cut (((e2) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H424]. % 47.42/47.59 cut (((op (e1) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H425]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H425. apply refl_equal. % 47.42/47.59 apply zenon_H424. apply sym_equal. exact zenon_Ha9. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H422); [ zenon_intro zenon_H427 | zenon_intro zenon_H426 ]. % 47.42/47.59 cut (((op (e1) (e5)) = (e3)) = ((op (e1) (e5)) = (op (e5) (e1)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H427. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H39. % 47.42/47.59 cut (((e3) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H428]. % 47.42/47.59 cut (((op (e1) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H429]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H429. apply refl_equal. % 47.42/47.59 apply zenon_H428. apply sym_equal. exact zenon_Hd9. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H426); [ zenon_intro zenon_H42b | zenon_intro zenon_H42a ]. % 47.42/47.59 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (e0)) = (op (e0) (e2)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H42b. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H41. % 47.42/47.59 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H42c]. % 47.42/47.59 cut (((op (e2) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H42d]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H42d. apply refl_equal. % 47.42/47.59 apply zenon_H42c. apply sym_equal. exact zenon_H2f. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H42a); [ zenon_intro zenon_H42f | zenon_intro zenon_H42e ]. % 47.42/47.59 cut (((op (e2) (e1)) = (e4)) = ((op (e2) (e1)) = (op (e1) (e2)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H42f. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H49. % 47.42/47.59 cut (((e4) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H430]. % 47.42/47.59 cut (((op (e2) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H431]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H431. apply refl_equal. % 47.42/47.59 apply zenon_H430. apply sym_equal. exact zenon_H1c. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H42e); [ zenon_intro zenon_H433 | zenon_intro zenon_H432 ]. % 47.42/47.59 apply zenon_H433. apply refl_equal. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H432); [ zenon_intro zenon_H435 | zenon_intro zenon_H434 ]. % 47.42/47.59 cut (((op (e2) (e3)) = (e0)) = ((op (e2) (e3)) = (op (e3) (e2)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H435. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H59. % 47.42/47.59 cut (((e0) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H436]. % 47.42/47.59 cut (((op (e2) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H437]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H437. apply refl_equal. % 47.42/47.59 apply zenon_H436. apply sym_equal. exact zenon_H81. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H434); [ zenon_intro zenon_H439 | zenon_intro zenon_H438 ]. % 47.42/47.59 cut (((op (e2) (e4)) = (e5)) = ((op (e2) (e4)) = (op (e4) (e2)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H439. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H61. % 47.42/47.59 cut (((e5) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H43a]. % 47.42/47.59 cut (((op (e2) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H43b]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H43b. apply refl_equal. % 47.42/47.59 apply zenon_H43a. apply sym_equal. exact zenon_Hb1. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H438); [ zenon_intro zenon_H43d | zenon_intro zenon_H43c ]. % 47.42/47.59 cut (((op (e2) (e5)) = (e1)) = ((op (e2) (e5)) = (op (e5) (e2)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H43d. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H69. % 47.42/47.59 cut (((e1) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H43e]. % 47.42/47.59 cut (((op (e2) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H43f]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H43f. apply refl_equal. % 47.42/47.59 apply zenon_H43e. apply sym_equal. exact zenon_He1. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H43c); [ zenon_intro zenon_H441 | zenon_intro zenon_H440 ]. % 47.42/47.59 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (e0)) = (op (e0) (e3)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H441. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H71. % 47.42/47.59 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H442]. % 47.42/47.59 cut (((op (e3) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H443]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H443. apply refl_equal. % 47.42/47.59 apply zenon_H442. apply sym_equal. exact zenon_H38. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H440); [ zenon_intro zenon_H445 | zenon_intro zenon_H444 ]. % 47.42/47.59 cut (((op (e3) (e1)) = (e5)) = ((op (e3) (e1)) = (op (e1) (e3)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H445. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H79. % 47.42/47.59 cut (((e5) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H446]. % 47.42/47.59 cut (((op (e3) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H447]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H447. apply refl_equal. % 47.42/47.59 apply zenon_H446. apply sym_equal. exact zenon_H27. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H444); [ zenon_intro zenon_H449 | zenon_intro zenon_H448 ]. % 47.42/47.59 cut (((op (e3) (e2)) = (e0)) = ((op (e3) (e2)) = (op (e2) (e3)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H449. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H81. % 47.42/47.59 cut (((e0) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H44a]. % 47.42/47.59 cut (((op (e3) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H44b]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H44b. apply refl_equal. % 47.42/47.59 apply zenon_H44a. apply sym_equal. exact zenon_H59. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H448); [ zenon_intro zenon_H44d | zenon_intro zenon_H44c ]. % 47.42/47.59 apply zenon_H44d. apply refl_equal. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H44c); [ zenon_intro zenon_H44f | zenon_intro zenon_H44e ]. % 47.42/47.59 cut (((op (e3) (e4)) = (e1)) = ((op (e3) (e4)) = (op (e4) (e3)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H44f. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H91. % 47.42/47.59 cut (((e1) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H450]. % 47.42/47.59 cut (((op (e3) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H451]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H451. apply refl_equal. % 47.42/47.59 apply zenon_H450. apply sym_equal. exact zenon_Hb9. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H44e); [ zenon_intro zenon_H453 | zenon_intro zenon_H452 ]. % 47.42/47.59 cut (((op (e3) (e5)) = (e4)) = ((op (e3) (e5)) = (op (e5) (e3)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H453. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H99. % 47.42/47.59 cut (((e4) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H454]. % 47.42/47.59 cut (((op (e3) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H455]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H455. apply refl_equal. % 47.42/47.59 apply zenon_H454. apply sym_equal. exact zenon_He9. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H452); [ zenon_intro zenon_H457 | zenon_intro zenon_H456 ]. % 47.42/47.59 cut (((op (e4) (e0)) = (e4)) = ((op (e4) (e0)) = (op (e0) (e4)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H457. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Ha1. % 47.42/47.59 cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H458]. % 47.42/47.59 cut (((op (e4) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H459]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H459. apply refl_equal. % 47.42/47.59 apply zenon_H458. apply sym_equal. exact zenon_H1b. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H456); [ zenon_intro zenon_H45b | zenon_intro zenon_H45a ]. % 47.42/47.59 cut (((op (e4) (e1)) = (e2)) = ((op (e4) (e1)) = (op (e1) (e4)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H45b. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Ha9. % 47.42/47.59 cut (((e2) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H45c]. % 47.42/47.59 cut (((op (e4) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H45d]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H45d. apply refl_equal. % 47.42/47.59 apply zenon_H45c. apply sym_equal. exact zenon_H30. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H45a); [ zenon_intro zenon_H45f | zenon_intro zenon_H45e ]. % 47.42/47.59 cut (((op (e4) (e2)) = (e5)) = ((op (e4) (e2)) = (op (e2) (e4)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H45f. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hb1. % 47.42/47.59 cut (((e5) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H460]. % 47.42/47.59 cut (((op (e4) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H461]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H461. apply refl_equal. % 47.42/47.59 apply zenon_H460. apply sym_equal. exact zenon_H61. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H45e); [ zenon_intro zenon_H463 | zenon_intro zenon_H462 ]. % 47.42/47.59 cut (((op (e4) (e3)) = (e1)) = ((op (e4) (e3)) = (op (e3) (e4)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H463. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hb9. % 47.42/47.59 cut (((e1) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H464]. % 47.42/47.59 cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H465]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H465. apply refl_equal. % 47.42/47.59 apply zenon_H464. apply sym_equal. exact zenon_H91. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H462); [ zenon_intro zenon_H467 | zenon_intro zenon_H466 ]. % 47.42/47.59 apply zenon_H467. apply refl_equal. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H466); [ zenon_intro zenon_H469 | zenon_intro zenon_H468 ]. % 47.42/47.59 cut (((op (e4) (e5)) = (e0)) = ((op (e4) (e5)) = (op (e5) (e4)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H469. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hc9. % 47.42/47.59 cut (((e0) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H46a]. % 47.42/47.59 cut (((op (e4) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46b]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H46b. apply refl_equal. % 47.42/47.59 apply zenon_H46a. apply sym_equal. exact zenon_Hf1. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H468); [ zenon_intro zenon_H46d | zenon_intro zenon_H46c ]. % 47.42/47.59 cut (((op (e5) (e0)) = (e5)) = ((op (e5) (e0)) = (op (e0) (e5)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H46d. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hd1. % 47.42/47.59 cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46e]. % 47.42/47.59 cut (((op (e5) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H46f]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H46f. apply refl_equal. % 47.42/47.59 apply zenon_H46e. apply sym_equal. exact zenon_H26. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H46c); [ zenon_intro zenon_H471 | zenon_intro zenon_H470 ]. % 47.42/47.59 cut (((op (e5) (e1)) = (e3)) = ((op (e5) (e1)) = (op (e1) (e5)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H471. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hd9. % 47.42/47.59 cut (((e3) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H472]. % 47.42/47.59 cut (((op (e5) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H473]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H473. apply refl_equal. % 47.42/47.59 apply zenon_H472. apply sym_equal. exact zenon_H39. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H470); [ zenon_intro zenon_H475 | zenon_intro zenon_H474 ]. % 47.42/47.59 cut (((op (e5) (e2)) = (e1)) = ((op (e5) (e2)) = (op (e2) (e5)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H475. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_He1. % 47.42/47.59 cut (((e1) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H476]. % 47.42/47.59 cut (((op (e5) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H477]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H477. apply refl_equal. % 47.42/47.59 apply zenon_H476. apply sym_equal. exact zenon_H69. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H474); [ zenon_intro zenon_H479 | zenon_intro zenon_H478 ]. % 47.42/47.59 cut (((op (e5) (e3)) = (e4)) = ((op (e5) (e3)) = (op (e3) (e5)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H479. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_He9. % 47.42/47.59 cut (((e4) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H47a]. % 47.42/47.59 cut (((op (e5) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H47b]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H47b. apply refl_equal. % 47.42/47.59 apply zenon_H47a. apply sym_equal. exact zenon_H99. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H478); [ zenon_intro zenon_H47d | zenon_intro zenon_H47c ]. % 47.42/47.59 cut (((op (e5) (e4)) = (e0)) = ((op (e5) (e4)) = (op (e4) (e5)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H47d. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hf1. % 47.42/47.59 cut (((e0) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H47e]. % 47.42/47.59 cut (((op (e5) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H47f]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H47f. apply refl_equal. % 47.42/47.59 apply zenon_H47e. apply sym_equal. exact zenon_Hc9. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H47c); [ zenon_intro zenon_H481 | zenon_intro zenon_H480 ]. % 47.42/47.59 apply zenon_H481. apply refl_equal. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H480); [ zenon_intro zenon_H483 | zenon_intro zenon_H482 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H483). zenon_intro zenon_H485. zenon_intro zenon_H484. % 47.42/47.59 exact (zenon_H485 zenon_H10). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H482); [ zenon_intro zenon_H487 | zenon_intro zenon_H486 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H487). zenon_intro zenon_H489. zenon_intro zenon_H488. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H488). zenon_intro zenon_H48b. zenon_intro zenon_H48a. % 47.42/47.59 exact (zenon_H48b zenon_H7). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H486); [ zenon_intro zenon_H48d | zenon_intro zenon_H48c ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H48d). zenon_intro zenon_H48f. zenon_intro zenon_H48e. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H48e). zenon_intro zenon_H491. zenon_intro zenon_H490. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H490). zenon_intro zenon_H493. zenon_intro zenon_H492. % 47.42/47.59 exact (zenon_H493 zenon_H2f). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H48c); [ zenon_intro zenon_H495 | zenon_intro zenon_H494 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H495). zenon_intro zenon_H497. zenon_intro zenon_H496. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H496). zenon_intro zenon_H499. zenon_intro zenon_H498. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H498). zenon_intro zenon_H49b. zenon_intro zenon_H49a. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H49a). zenon_intro zenon_H49d. zenon_intro zenon_H49c. % 47.42/47.59 exact (zenon_H49d zenon_H38). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H494); [ zenon_intro zenon_H49f | zenon_intro zenon_H49e ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H49f). zenon_intro zenon_H4a1. zenon_intro zenon_H4a0. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4a0). zenon_intro zenon_H4a3. zenon_intro zenon_H4a2. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4a2). zenon_intro zenon_H4a5. zenon_intro zenon_H4a4. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4a4). zenon_intro zenon_H4a7. zenon_intro zenon_H4a6. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4a6). zenon_intro zenon_H4a9. zenon_intro zenon_H4a8. % 47.42/47.59 exact (zenon_H4a9 zenon_H1b). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H49e); [ zenon_intro zenon_H4ab | zenon_intro zenon_H4aa ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4ab). zenon_intro zenon_H4ad. zenon_intro zenon_H4ac. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4ac). zenon_intro zenon_H4af. zenon_intro zenon_H4ae. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4ae). zenon_intro zenon_H4b1. zenon_intro zenon_H4b0. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4b0). zenon_intro zenon_H4b3. zenon_intro zenon_H4b2. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4b2). zenon_intro zenon_H4b5. zenon_intro zenon_H4b4. % 47.42/47.59 exact (zenon_H4b4 zenon_H26). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H4aa); [ zenon_intro zenon_H4b7 | zenon_intro zenon_H4b6 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4b7). zenon_intro zenon_H4b9. zenon_intro zenon_H4b8. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4b8). zenon_intro zenon_Hf. zenon_intro zenon_H4ba. % 47.42/47.59 exact (zenon_Hf zenon_H8). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H4b6); [ zenon_intro zenon_H4bc | zenon_intro zenon_H4bb ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4bc). zenon_intro zenon_H18. zenon_intro zenon_H4bd. % 47.42/47.59 exact (zenon_H18 zenon_H11). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H4bb); [ zenon_intro zenon_H4bf | zenon_intro zenon_H4be ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4bf). zenon_intro zenon_H4c1. zenon_intro zenon_H4c0. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4c0). zenon_intro zenon_H4c3. zenon_intro zenon_H4c2. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4c2). zenon_intro zenon_H4c5. zenon_intro zenon_H4c4. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4c4). zenon_intro zenon_H4c7. zenon_intro zenon_H4c6. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4c6). zenon_intro zenon_H23. zenon_intro zenon_H4c8. % 47.42/47.59 exact (zenon_H23 zenon_H1c). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H4be); [ zenon_intro zenon_H4ca | zenon_intro zenon_H4c9 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4ca). zenon_intro zenon_H4cc. zenon_intro zenon_H4cb. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4cb). zenon_intro zenon_H4ce. zenon_intro zenon_H4cd. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4cd). zenon_intro zenon_H4d0. zenon_intro zenon_H4cf. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4cf). zenon_intro zenon_H4d2. zenon_intro zenon_H4d1. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4d1). zenon_intro zenon_H4d3. zenon_intro zenon_H2e. % 47.42/47.59 exact (zenon_H2e zenon_H27). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H4c9); [ zenon_intro zenon_H4d5 | zenon_intro zenon_H4d4 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4d5). zenon_intro zenon_H4d7. zenon_intro zenon_H4d6. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4d6). zenon_intro zenon_H4d9. zenon_intro zenon_H4d8. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4d8). zenon_intro zenon_H37. zenon_intro zenon_H4da. % 47.42/47.59 exact (zenon_H37 zenon_H30). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H4d4); [ zenon_intro zenon_H4dc | zenon_intro zenon_H4db ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4dc). zenon_intro zenon_H4de. zenon_intro zenon_H4dd. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4dd). zenon_intro zenon_H4e0. zenon_intro zenon_H4df. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4df). zenon_intro zenon_H4e2. zenon_intro zenon_H4e1. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4e1). zenon_intro zenon_H40. zenon_intro zenon_H4e3. % 47.42/47.59 exact (zenon_H40 zenon_H39). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H4db); [ zenon_intro zenon_H4e5 | zenon_intro zenon_H4e4 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4e5). zenon_intro zenon_H4e7. zenon_intro zenon_H4e6. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4e6). zenon_intro zenon_H4e9. zenon_intro zenon_H4e8. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4e8). zenon_intro zenon_H48. zenon_intro zenon_H4ea. % 47.42/47.59 exact (zenon_H48 zenon_H41). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H4e4); [ zenon_intro zenon_H4ec | zenon_intro zenon_H4eb ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4ec). zenon_intro zenon_H4ee. zenon_intro zenon_H4ed. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4ed). zenon_intro zenon_H4f0. zenon_intro zenon_H4ef. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4ef). zenon_intro zenon_H4f2. zenon_intro zenon_H4f1. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4f1). zenon_intro zenon_H4f4. zenon_intro zenon_H4f3. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4f3). zenon_intro zenon_H50. zenon_intro zenon_H4f5. % 47.42/47.59 exact (zenon_H50 zenon_H49). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H4eb); [ zenon_intro zenon_H4f7 | zenon_intro zenon_H4f6 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4f7). zenon_intro zenon_H4f9. zenon_intro zenon_H4f8. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4f8). zenon_intro zenon_H4fb. zenon_intro zenon_H4fa. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4fa). zenon_intro zenon_H4fd. zenon_intro zenon_H4fc. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H4fc). zenon_intro zenon_H58. zenon_intro zenon_H4fe. % 47.42/47.59 exact (zenon_H58 zenon_H51). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H4f6); [ zenon_intro zenon_H500 | zenon_intro zenon_H4ff ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H500). zenon_intro zenon_H60. zenon_intro zenon_H501. % 47.42/47.59 exact (zenon_H60 zenon_H59). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H4ff); [ zenon_intro zenon_H503 | zenon_intro zenon_H502 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H503). zenon_intro zenon_H505. zenon_intro zenon_H504. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H504). zenon_intro zenon_H507. zenon_intro zenon_H506. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H506). zenon_intro zenon_H509. zenon_intro zenon_H508. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H508). zenon_intro zenon_H50b. zenon_intro zenon_H50a. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H50a). zenon_intro zenon_H50c. zenon_intro zenon_H68. % 47.42/47.59 exact (zenon_H68 zenon_H61). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H502); [ zenon_intro zenon_H50e | zenon_intro zenon_H50d ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H50e). zenon_intro zenon_H510. zenon_intro zenon_H50f. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H50f). zenon_intro zenon_H70. zenon_intro zenon_H511. % 47.42/47.59 exact (zenon_H70 zenon_H69). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H50d); [ zenon_intro zenon_H513 | zenon_intro zenon_H512 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H513). zenon_intro zenon_H515. zenon_intro zenon_H514. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H514). zenon_intro zenon_H517. zenon_intro zenon_H516. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H516). zenon_intro zenon_H519. zenon_intro zenon_H518. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H518). zenon_intro zenon_H78. zenon_intro zenon_H51a. % 47.42/47.59 exact (zenon_H78 zenon_H71). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H512); [ zenon_intro zenon_H51c | zenon_intro zenon_H51b ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H51c). zenon_intro zenon_H51e. zenon_intro zenon_H51d. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H51d). zenon_intro zenon_H520. zenon_intro zenon_H51f. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H51f). zenon_intro zenon_H522. zenon_intro zenon_H521. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H521). zenon_intro zenon_H524. zenon_intro zenon_H523. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H523). zenon_intro zenon_H525. zenon_intro zenon_H80. % 47.42/47.59 exact (zenon_H80 zenon_H79). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H51b); [ zenon_intro zenon_H527 | zenon_intro zenon_H526 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H527). zenon_intro zenon_H88. zenon_intro zenon_H528. % 47.42/47.59 exact (zenon_H88 zenon_H81). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H526); [ zenon_intro zenon_H52a | zenon_intro zenon_H529 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H52a). zenon_intro zenon_H52c. zenon_intro zenon_H52b. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H52b). zenon_intro zenon_H52e. zenon_intro zenon_H52d. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H52d). zenon_intro zenon_H90. zenon_intro zenon_H52f. % 47.42/47.59 exact (zenon_H90 zenon_H89). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H529); [ zenon_intro zenon_H531 | zenon_intro zenon_H530 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H531). zenon_intro zenon_H533. zenon_intro zenon_H532. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H532). zenon_intro zenon_H98. zenon_intro zenon_H534. % 47.42/47.59 exact (zenon_H98 zenon_H91). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H530); [ zenon_intro zenon_H536 | zenon_intro zenon_H535 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H536). zenon_intro zenon_H538. zenon_intro zenon_H537. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H537). zenon_intro zenon_H53a. zenon_intro zenon_H539. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H539). zenon_intro zenon_H53c. zenon_intro zenon_H53b. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H53b). zenon_intro zenon_H53e. zenon_intro zenon_H53d. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H53d). zenon_intro zenon_Ha0. zenon_intro zenon_H53f. % 47.42/47.59 exact (zenon_Ha0 zenon_H99). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H535); [ zenon_intro zenon_H541 | zenon_intro zenon_H540 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H541). zenon_intro zenon_H543. zenon_intro zenon_H542. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H542). zenon_intro zenon_H545. zenon_intro zenon_H544. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H544). zenon_intro zenon_H547. zenon_intro zenon_H546. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H546). zenon_intro zenon_H549. zenon_intro zenon_H548. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H548). zenon_intro zenon_Ha8. zenon_intro zenon_H54a. % 47.42/47.59 exact (zenon_Ha8 zenon_Ha1). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H540); [ zenon_intro zenon_H54c | zenon_intro zenon_H54b ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H54c). zenon_intro zenon_H54e. zenon_intro zenon_H54d. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H54d). zenon_intro zenon_H550. zenon_intro zenon_H54f. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H54f). zenon_intro zenon_Hb0. zenon_intro zenon_H551. % 47.42/47.59 exact (zenon_Hb0 zenon_Ha9). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H54b); [ zenon_intro zenon_H553 | zenon_intro zenon_H552 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H553). zenon_intro zenon_H555. zenon_intro zenon_H554. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H554). zenon_intro zenon_H557. zenon_intro zenon_H556. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H556). zenon_intro zenon_H559. zenon_intro zenon_H558. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H558). zenon_intro zenon_H55b. zenon_intro zenon_H55a. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H55a). zenon_intro zenon_H55c. zenon_intro zenon_Hb8. % 47.42/47.59 exact (zenon_Hb8 zenon_Hb1). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H552); [ zenon_intro zenon_H55e | zenon_intro zenon_H55d ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H55e). zenon_intro zenon_H560. zenon_intro zenon_H55f. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H55f). zenon_intro zenon_Hc0. zenon_intro zenon_H561. % 47.42/47.59 exact (zenon_Hc0 zenon_Hb9). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H55d); [ zenon_intro zenon_H563 | zenon_intro zenon_H562 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H563). zenon_intro zenon_H565. zenon_intro zenon_H564. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H564). zenon_intro zenon_H567. zenon_intro zenon_H566. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H566). zenon_intro zenon_H569. zenon_intro zenon_H568. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H568). zenon_intro zenon_Hc8. zenon_intro zenon_H56a. % 47.42/47.59 exact (zenon_Hc8 zenon_Hc1). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H562); [ zenon_intro zenon_H56c | zenon_intro zenon_H56b ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H56c). zenon_intro zenon_Hd0. zenon_intro zenon_H56d. % 47.42/47.59 exact (zenon_Hd0 zenon_Hc9). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H56b); [ zenon_intro zenon_H56f | zenon_intro zenon_H56e ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H56f). zenon_intro zenon_H571. zenon_intro zenon_H570. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H570). zenon_intro zenon_H573. zenon_intro zenon_H572. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H572). zenon_intro zenon_H575. zenon_intro zenon_H574. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H574). zenon_intro zenon_H577. zenon_intro zenon_H576. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H576). zenon_intro zenon_H578. zenon_intro zenon_Hd8. % 47.42/47.59 exact (zenon_Hd8 zenon_Hd1). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H56e); [ zenon_intro zenon_H57a | zenon_intro zenon_H579 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H57a). zenon_intro zenon_H57c. zenon_intro zenon_H57b. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H57b). zenon_intro zenon_H57e. zenon_intro zenon_H57d. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H57d). zenon_intro zenon_H580. zenon_intro zenon_H57f. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H57f). zenon_intro zenon_He0. zenon_intro zenon_H581. % 47.42/47.59 exact (zenon_He0 zenon_Hd9). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H579); [ zenon_intro zenon_H583 | zenon_intro zenon_H582 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H583). zenon_intro zenon_H585. zenon_intro zenon_H584. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H584). zenon_intro zenon_He8. zenon_intro zenon_H586. % 47.42/47.59 exact (zenon_He8 zenon_He1). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H582); [ zenon_intro zenon_H588 | zenon_intro zenon_H587 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H588). zenon_intro zenon_H58a. zenon_intro zenon_H589. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H589). zenon_intro zenon_H58c. zenon_intro zenon_H58b. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H58b). zenon_intro zenon_H58e. zenon_intro zenon_H58d. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H58d). zenon_intro zenon_H590. zenon_intro zenon_H58f. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H58f). zenon_intro zenon_Hf0. zenon_intro zenon_H591. % 47.42/47.59 exact (zenon_Hf0 zenon_He9). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H587); [ zenon_intro zenon_H593 | zenon_intro zenon_H592 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H593). zenon_intro zenon_Hf8. zenon_intro zenon_H594. % 47.42/47.59 exact (zenon_Hf8 zenon_Hf1). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H592); [ zenon_intro zenon_H596 | zenon_intro zenon_H595 ]. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H596). zenon_intro zenon_H598. zenon_intro zenon_H597. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H597). zenon_intro zenon_H59a. zenon_intro zenon_H599. % 47.42/47.59 apply (zenon_notor_s _ _ zenon_H599). zenon_intro zenon_H100. zenon_intro zenon_H59b. % 47.42/47.59 exact (zenon_H100 zenon_Hf9). % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H595); [ zenon_intro zenon_H59d | zenon_intro zenon_H59c ]. % 47.42/47.59 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H59e]. % 47.42/47.59 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H485]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H485 zenon_H10). % 47.42/47.59 apply zenon_H59e. apply sym_equal. exact zenon_H10. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H59c); [ zenon_intro zenon_H5a0 | zenon_intro zenon_H59f ]. % 47.42/47.59 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H416]. % 47.42/47.59 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H485]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H485 zenon_H10). % 47.42/47.59 apply zenon_H416. apply sym_equal. exact zenon_H7. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H59f); [ zenon_intro zenon_H5a2 | zenon_intro zenon_H5a1 ]. % 47.42/47.59 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H42c]. % 47.42/47.59 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H485]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H485 zenon_H10). % 47.42/47.59 apply zenon_H42c. apply sym_equal. exact zenon_H2f. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5a1); [ zenon_intro zenon_H5a4 | zenon_intro zenon_H5a3 ]. % 47.42/47.59 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H442]. % 47.42/47.59 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H485]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H485 zenon_H10). % 47.42/47.59 apply zenon_H442. apply sym_equal. exact zenon_H38. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5a3); [ zenon_intro zenon_H5a6 | zenon_intro zenon_H5a5 ]. % 47.42/47.59 cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H458]. % 47.42/47.59 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H485]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H485 zenon_H10). % 47.42/47.59 apply zenon_H458. apply sym_equal. exact zenon_H1b. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5a5); [ zenon_intro zenon_H5a8 | zenon_intro zenon_H5a7 ]. % 47.42/47.59 cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46e]. % 47.42/47.59 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H485]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H485 zenon_H10). % 47.42/47.59 apply zenon_H46e. apply sym_equal. exact zenon_H26. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5a7); [ zenon_intro zenon_H5aa | zenon_intro zenon_H5a9 ]. % 47.42/47.59 cut (((op (e1) (e0)) = (e1)) = ((op (op (e0) (e1)) (e0)) = (op (e0) (op (e1) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5aa. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H8. % 47.42/47.59 cut (((e1) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 47.42/47.59 cut (((op (e1) (e0)) = (op (op (e0) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5ab]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e1)) (e0)) = (op (op (e0) (e1)) (e0)))); [ zenon_intro zenon_H5ac | zenon_intro zenon_H5ad ]. % 47.42/47.59 cut (((op (op (e0) (e1)) (e0)) = (op (op (e0) (e1)) (e0))) = ((op (e1) (e0)) = (op (op (e0) (e1)) (e0)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5ab. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H5ac. % 47.42/47.59 cut (((op (op (e0) (e1)) (e0)) = (op (op (e0) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5ad]. % 47.42/47.59 cut (((op (op (e0) (e1)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5ae]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.59 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H48b]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H48b zenon_H7). % 47.42/47.59 apply zenon_H5. apply refl_equal. % 47.42/47.59 apply zenon_H5ad. apply refl_equal. % 47.42/47.59 apply zenon_H5ad. apply refl_equal. % 47.42/47.59 apply (zenon_L3_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5a9); [ zenon_intro zenon_H5b0 | zenon_intro zenon_H5af ]. % 47.42/47.59 cut (((op (e1) (e1)) = (e0)) = ((op (op (e0) (e1)) (e1)) = (op (e0) (op (e1) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5b0. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H11. % 47.42/47.59 cut (((e0) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 47.42/47.59 cut (((op (e1) (e1)) = (op (op (e0) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5b1]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e1)) (e1)) = (op (op (e0) (e1)) (e1)))); [ zenon_intro zenon_H5b2 | zenon_intro zenon_H5b3 ]. % 47.42/47.59 cut (((op (op (e0) (e1)) (e1)) = (op (op (e0) (e1)) (e1))) = ((op (e1) (e1)) = (op (op (e0) (e1)) (e1)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5b1. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H5b2. % 47.42/47.59 cut (((op (op (e0) (e1)) (e1)) = (op (op (e0) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5b3]. % 47.42/47.59 cut (((op (op (e0) (e1)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5b4]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.59 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H48b]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H48b zenon_H7). % 47.42/47.59 apply zenon_H6. apply refl_equal. % 47.42/47.59 apply zenon_H5b3. apply refl_equal. % 47.42/47.59 apply zenon_H5b3. apply refl_equal. % 47.42/47.59 apply (zenon_L4_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5af); [ zenon_intro zenon_H5b6 | zenon_intro zenon_H5b5 ]. % 47.42/47.59 cut (((op (e1) (e2)) = (e4)) = ((op (op (e0) (e1)) (e2)) = (op (e0) (op (e1) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5b6. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H1c. % 47.42/47.59 cut (((e4) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 47.42/47.59 cut (((op (e1) (e2)) = (op (op (e0) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5b7]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e1)) (e2)) = (op (op (e0) (e1)) (e2)))); [ zenon_intro zenon_H5b8 | zenon_intro zenon_H5b9 ]. % 47.42/47.59 cut (((op (op (e0) (e1)) (e2)) = (op (op (e0) (e1)) (e2))) = ((op (e1) (e2)) = (op (op (e0) (e1)) (e2)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5b7. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H5b8. % 47.42/47.59 cut (((op (op (e0) (e1)) (e2)) = (op (op (e0) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5b9]. % 47.42/47.59 cut (((op (op (e0) (e1)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5ba]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.59 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H48b]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H48b zenon_H7). % 47.42/47.59 apply zenon_H19. apply refl_equal. % 47.42/47.59 apply zenon_H5b9. apply refl_equal. % 47.42/47.59 apply zenon_H5b9. apply refl_equal. % 47.42/47.59 apply (zenon_L7_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5b5); [ zenon_intro zenon_H5bc | zenon_intro zenon_H5bb ]. % 47.42/47.59 cut (((op (e1) (e3)) = (e5)) = ((op (op (e0) (e1)) (e3)) = (op (e0) (op (e1) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5bc. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H27. % 47.42/47.59 cut (((e5) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 47.42/47.59 cut (((op (e1) (e3)) = (op (op (e0) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5bd]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e1)) (e3)) = (op (op (e0) (e1)) (e3)))); [ zenon_intro zenon_H5be | zenon_intro zenon_H5bf ]. % 47.42/47.59 cut (((op (op (e0) (e1)) (e3)) = (op (op (e0) (e1)) (e3))) = ((op (e1) (e3)) = (op (op (e0) (e1)) (e3)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5bd. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H5be. % 47.42/47.59 cut (((op (op (e0) (e1)) (e3)) = (op (op (e0) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5bf]. % 47.42/47.59 cut (((op (op (e0) (e1)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5c0]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.59 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H48b]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H48b zenon_H7). % 47.42/47.59 apply zenon_H24. apply refl_equal. % 47.42/47.59 apply zenon_H5bf. apply refl_equal. % 47.42/47.59 apply zenon_H5bf. apply refl_equal. % 47.42/47.59 apply (zenon_L10_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5bb); [ zenon_intro zenon_H5c2 | zenon_intro zenon_H5c1 ]. % 47.42/47.59 cut (((op (e1) (e4)) = (e2)) = ((op (op (e0) (e1)) (e4)) = (op (e0) (op (e1) (e4))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5c2. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H30. % 47.42/47.59 cut (((e2) = (op (e0) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H31]. % 47.42/47.59 cut (((op (e1) (e4)) = (op (op (e0) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5c3]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e1)) (e4)) = (op (op (e0) (e1)) (e4)))); [ zenon_intro zenon_H5c4 | zenon_intro zenon_H5c5 ]. % 47.42/47.59 cut (((op (op (e0) (e1)) (e4)) = (op (op (e0) (e1)) (e4))) = ((op (e1) (e4)) = (op (op (e0) (e1)) (e4)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5c3. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H5c4. % 47.42/47.59 cut (((op (op (e0) (e1)) (e4)) = (op (op (e0) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5c5]. % 47.42/47.59 cut (((op (op (e0) (e1)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5c6]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H48b]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H48b zenon_H7). % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 apply zenon_H5c5. apply refl_equal. % 47.42/47.59 apply zenon_H5c5. apply refl_equal. % 47.42/47.59 apply (zenon_L11_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5c1); [ zenon_intro zenon_H5c8 | zenon_intro zenon_H5c7 ]. % 47.42/47.59 cut (((op (e1) (e5)) = (e3)) = ((op (op (e0) (e1)) (e5)) = (op (e0) (op (e1) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5c8. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H39. % 47.42/47.59 cut (((e3) = (op (e0) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3a]. % 47.42/47.59 cut (((op (e1) (e5)) = (op (op (e0) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5c9]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e1)) (e5)) = (op (op (e0) (e1)) (e5)))); [ zenon_intro zenon_H5ca | zenon_intro zenon_H5cb ]. % 47.42/47.59 cut (((op (op (e0) (e1)) (e5)) = (op (op (e0) (e1)) (e5))) = ((op (e1) (e5)) = (op (op (e0) (e1)) (e5)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5c9. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H5ca. % 47.42/47.59 cut (((op (op (e0) (e1)) (e5)) = (op (op (e0) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5cb]. % 47.42/47.59 cut (((op (op (e0) (e1)) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5cc]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H48b]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H48b zenon_H7). % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 apply zenon_H5cb. apply refl_equal. % 47.42/47.59 apply zenon_H5cb. apply refl_equal. % 47.42/47.59 apply (zenon_L12_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5c7); [ zenon_intro zenon_H5ce | zenon_intro zenon_H5cd ]. % 47.42/47.59 cut (((op (e2) (e0)) = (e2)) = ((op (op (e0) (e2)) (e0)) = (op (e0) (op (e2) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5ce. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H41. % 47.42/47.59 cut (((e2) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H42]. % 47.42/47.59 cut (((op (e2) (e0)) = (op (op (e0) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5cf]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e2)) (e0)) = (op (op (e0) (e2)) (e0)))); [ zenon_intro zenon_H5d0 | zenon_intro zenon_H5d1 ]. % 47.42/47.59 cut (((op (op (e0) (e2)) (e0)) = (op (op (e0) (e2)) (e0))) = ((op (e2) (e0)) = (op (op (e0) (e2)) (e0)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5cf. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H5d0. % 47.42/47.59 cut (((op (op (e0) (e2)) (e0)) = (op (op (e0) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5d1]. % 47.42/47.59 cut (((op (op (e0) (e2)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5d2]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.59 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H493]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H493 zenon_H2f). % 47.42/47.59 apply zenon_H5. apply refl_equal. % 47.42/47.59 apply zenon_H5d1. apply refl_equal. % 47.42/47.59 apply zenon_H5d1. apply refl_equal. % 47.42/47.59 apply (zenon_L13_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5cd); [ zenon_intro zenon_H5d4 | zenon_intro zenon_H5d3 ]. % 47.42/47.59 cut (((op (e2) (e1)) = (e4)) = ((op (op (e0) (e2)) (e1)) = (op (e0) (op (e2) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5d4. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H49. % 47.42/47.59 cut (((e4) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H4a]. % 47.42/47.59 cut (((op (e2) (e1)) = (op (op (e0) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5d5]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e2)) (e1)) = (op (op (e0) (e2)) (e1)))); [ zenon_intro zenon_H5d6 | zenon_intro zenon_H5d7 ]. % 47.42/47.59 cut (((op (op (e0) (e2)) (e1)) = (op (op (e0) (e2)) (e1))) = ((op (e2) (e1)) = (op (op (e0) (e2)) (e1)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5d5. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H5d6. % 47.42/47.59 cut (((op (op (e0) (e2)) (e1)) = (op (op (e0) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5d7]. % 47.42/47.59 cut (((op (op (e0) (e2)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5d8]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.59 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H493]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H493 zenon_H2f). % 47.42/47.59 apply zenon_H6. apply refl_equal. % 47.42/47.59 apply zenon_H5d7. apply refl_equal. % 47.42/47.59 apply zenon_H5d7. apply refl_equal. % 47.42/47.59 apply (zenon_L14_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5d3); [ zenon_intro zenon_H5da | zenon_intro zenon_H5d9 ]. % 47.42/47.59 cut (((op (e2) (e2)) = (e3)) = ((op (op (e0) (e2)) (e2)) = (op (e0) (op (e2) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5da. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H51. % 47.42/47.59 cut (((e3) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H52]. % 47.42/47.59 cut (((op (e2) (e2)) = (op (op (e0) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5db]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e2)) (e2)) = (op (op (e0) (e2)) (e2)))); [ zenon_intro zenon_H5dc | zenon_intro zenon_H5dd ]. % 47.42/47.59 cut (((op (op (e0) (e2)) (e2)) = (op (op (e0) (e2)) (e2))) = ((op (e2) (e2)) = (op (op (e0) (e2)) (e2)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5db. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H5dc. % 47.42/47.59 cut (((op (op (e0) (e2)) (e2)) = (op (op (e0) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5dd]. % 47.42/47.59 cut (((op (op (e0) (e2)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5de]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.59 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H493]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H493 zenon_H2f). % 47.42/47.59 apply zenon_H19. apply refl_equal. % 47.42/47.59 apply zenon_H5dd. apply refl_equal. % 47.42/47.59 apply zenon_H5dd. apply refl_equal. % 47.42/47.59 apply (zenon_L15_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5d9); [ zenon_intro zenon_H5e0 | zenon_intro zenon_H5df ]. % 47.42/47.59 cut (((op (e2) (e3)) = (e0)) = ((op (op (e0) (e2)) (e3)) = (op (e0) (op (e2) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5e0. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H59. % 47.42/47.59 cut (((e0) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 47.42/47.59 cut (((op (e2) (e3)) = (op (op (e0) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5e1]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e2)) (e3)) = (op (op (e0) (e2)) (e3)))); [ zenon_intro zenon_H5e2 | zenon_intro zenon_H5e3 ]. % 47.42/47.59 cut (((op (op (e0) (e2)) (e3)) = (op (op (e0) (e2)) (e3))) = ((op (e2) (e3)) = (op (op (e0) (e2)) (e3)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5e1. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H5e2. % 47.42/47.59 cut (((op (op (e0) (e2)) (e3)) = (op (op (e0) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5e3]. % 47.42/47.59 cut (((op (op (e0) (e2)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5e4]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.59 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H493]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H493 zenon_H2f). % 47.42/47.59 apply zenon_H24. apply refl_equal. % 47.42/47.59 apply zenon_H5e3. apply refl_equal. % 47.42/47.59 apply zenon_H5e3. apply refl_equal. % 47.42/47.59 apply (zenon_L16_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5df); [ zenon_intro zenon_H5e6 | zenon_intro zenon_H5e5 ]. % 47.42/47.59 cut (((op (e2) (e4)) = (e5)) = ((op (op (e0) (e2)) (e4)) = (op (e0) (op (e2) (e4))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5e6. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H61. % 47.42/47.59 cut (((e5) = (op (e0) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 47.42/47.59 cut (((op (e2) (e4)) = (op (op (e0) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5e7]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e2)) (e4)) = (op (op (e0) (e2)) (e4)))); [ zenon_intro zenon_H5e8 | zenon_intro zenon_H5e9 ]. % 47.42/47.59 cut (((op (op (e0) (e2)) (e4)) = (op (op (e0) (e2)) (e4))) = ((op (e2) (e4)) = (op (op (e0) (e2)) (e4)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5e7. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H5e8. % 47.42/47.59 cut (((op (op (e0) (e2)) (e4)) = (op (op (e0) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5e9]. % 47.42/47.59 cut (((op (op (e0) (e2)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5ea]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H493]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H493 zenon_H2f). % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 apply zenon_H5e9. apply refl_equal. % 47.42/47.59 apply zenon_H5e9. apply refl_equal. % 47.42/47.59 apply (zenon_L17_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5e5); [ zenon_intro zenon_H5ec | zenon_intro zenon_H5eb ]. % 47.42/47.59 cut (((op (e2) (e5)) = (e1)) = ((op (op (e0) (e2)) (e5)) = (op (e0) (op (e2) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5ec. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H69. % 47.42/47.59 cut (((e1) = (op (e0) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 47.42/47.59 cut (((op (e2) (e5)) = (op (op (e0) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5ed]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e2)) (e5)) = (op (op (e0) (e2)) (e5)))); [ zenon_intro zenon_H5ee | zenon_intro zenon_H5ef ]. % 47.42/47.59 cut (((op (op (e0) (e2)) (e5)) = (op (op (e0) (e2)) (e5))) = ((op (e2) (e5)) = (op (op (e0) (e2)) (e5)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5ed. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H5ee. % 47.42/47.59 cut (((op (op (e0) (e2)) (e5)) = (op (op (e0) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5ef]. % 47.42/47.59 cut (((op (op (e0) (e2)) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5f0]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H493]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H493 zenon_H2f). % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 apply zenon_H5ef. apply refl_equal. % 47.42/47.59 apply zenon_H5ef. apply refl_equal. % 47.42/47.59 apply (zenon_L18_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5eb); [ zenon_intro zenon_H5f2 | zenon_intro zenon_H5f1 ]. % 47.42/47.59 cut (((op (e3) (e0)) = (e3)) = ((op (op (e0) (e3)) (e0)) = (op (e0) (op (e3) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5f2. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H71. % 47.42/47.59 cut (((e3) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H72]. % 47.42/47.59 cut (((op (e3) (e0)) = (op (op (e0) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5f3]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e3)) (e0)) = (op (op (e0) (e3)) (e0)))); [ zenon_intro zenon_H5f4 | zenon_intro zenon_H5f5 ]. % 47.42/47.59 cut (((op (op (e0) (e3)) (e0)) = (op (op (e0) (e3)) (e0))) = ((op (e3) (e0)) = (op (op (e0) (e3)) (e0)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5f3. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H5f4. % 47.42/47.59 cut (((op (op (e0) (e3)) (e0)) = (op (op (e0) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5f5]. % 47.42/47.59 cut (((op (op (e0) (e3)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5f6]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.59 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H49d]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H49d zenon_H38). % 47.42/47.59 apply zenon_H5. apply refl_equal. % 47.42/47.59 apply zenon_H5f5. apply refl_equal. % 47.42/47.59 apply zenon_H5f5. apply refl_equal. % 47.42/47.59 apply (zenon_L19_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5f1); [ zenon_intro zenon_H5f8 | zenon_intro zenon_H5f7 ]. % 47.42/47.59 cut (((op (e3) (e1)) = (e5)) = ((op (op (e0) (e3)) (e1)) = (op (e0) (op (e3) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5f8. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H79. % 47.42/47.59 cut (((e5) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7a]. % 47.42/47.59 cut (((op (e3) (e1)) = (op (op (e0) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5f9]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e3)) (e1)) = (op (op (e0) (e3)) (e1)))); [ zenon_intro zenon_H5fa | zenon_intro zenon_H5fb ]. % 47.42/47.59 cut (((op (op (e0) (e3)) (e1)) = (op (op (e0) (e3)) (e1))) = ((op (e3) (e1)) = (op (op (e0) (e3)) (e1)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5f9. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H5fa. % 47.42/47.59 cut (((op (op (e0) (e3)) (e1)) = (op (op (e0) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5fb]. % 47.42/47.59 cut (((op (op (e0) (e3)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5fc]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.59 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H49d]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H49d zenon_H38). % 47.42/47.59 apply zenon_H6. apply refl_equal. % 47.42/47.59 apply zenon_H5fb. apply refl_equal. % 47.42/47.59 apply zenon_H5fb. apply refl_equal. % 47.42/47.59 apply (zenon_L20_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5f7); [ zenon_intro zenon_H5fe | zenon_intro zenon_H5fd ]. % 47.42/47.59 cut (((op (e3) (e2)) = (e0)) = ((op (op (e0) (e3)) (e2)) = (op (e0) (op (e3) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5fe. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H81. % 47.42/47.59 cut (((e0) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H82]. % 47.42/47.59 cut (((op (e3) (e2)) = (op (op (e0) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5ff]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e3)) (e2)) = (op (op (e0) (e3)) (e2)))); [ zenon_intro zenon_H600 | zenon_intro zenon_H601 ]. % 47.42/47.59 cut (((op (op (e0) (e3)) (e2)) = (op (op (e0) (e3)) (e2))) = ((op (e3) (e2)) = (op (op (e0) (e3)) (e2)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H5ff. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H600. % 47.42/47.59 cut (((op (op (e0) (e3)) (e2)) = (op (op (e0) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H601]. % 47.42/47.59 cut (((op (op (e0) (e3)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H602]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.59 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H49d]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H49d zenon_H38). % 47.42/47.59 apply zenon_H19. apply refl_equal. % 47.42/47.59 apply zenon_H601. apply refl_equal. % 47.42/47.59 apply zenon_H601. apply refl_equal. % 47.42/47.59 apply (zenon_L21_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H5fd); [ zenon_intro zenon_H604 | zenon_intro zenon_H603 ]. % 47.42/47.59 cut (((op (e3) (e3)) = (e2)) = ((op (op (e0) (e3)) (e3)) = (op (e0) (op (e3) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H604. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H89. % 47.42/47.59 cut (((e2) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H8a]. % 47.42/47.59 cut (((op (e3) (e3)) = (op (op (e0) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H605]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e3)) (e3)) = (op (op (e0) (e3)) (e3)))); [ zenon_intro zenon_H606 | zenon_intro zenon_H607 ]. % 47.42/47.59 cut (((op (op (e0) (e3)) (e3)) = (op (op (e0) (e3)) (e3))) = ((op (e3) (e3)) = (op (op (e0) (e3)) (e3)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H605. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H606. % 47.42/47.59 cut (((op (op (e0) (e3)) (e3)) = (op (op (e0) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H607]. % 47.42/47.59 cut (((op (op (e0) (e3)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H608]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.59 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H49d]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H49d zenon_H38). % 47.42/47.59 apply zenon_H24. apply refl_equal. % 47.42/47.59 apply zenon_H607. apply refl_equal. % 47.42/47.59 apply zenon_H607. apply refl_equal. % 47.42/47.59 apply (zenon_L22_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H603); [ zenon_intro zenon_H60a | zenon_intro zenon_H609 ]. % 47.42/47.59 cut (((op (e3) (e4)) = (e1)) = ((op (op (e0) (e3)) (e4)) = (op (e0) (op (e3) (e4))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H60a. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H91. % 47.42/47.59 cut (((e1) = (op (e0) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H92]. % 47.42/47.59 cut (((op (e3) (e4)) = (op (op (e0) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H60b]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e3)) (e4)) = (op (op (e0) (e3)) (e4)))); [ zenon_intro zenon_H60c | zenon_intro zenon_H60d ]. % 47.42/47.59 cut (((op (op (e0) (e3)) (e4)) = (op (op (e0) (e3)) (e4))) = ((op (e3) (e4)) = (op (op (e0) (e3)) (e4)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H60b. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H60c. % 47.42/47.59 cut (((op (op (e0) (e3)) (e4)) = (op (op (e0) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H60d]. % 47.42/47.59 cut (((op (op (e0) (e3)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H60e]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H49d]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H49d zenon_H38). % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 apply zenon_H60d. apply refl_equal. % 47.42/47.59 apply zenon_H60d. apply refl_equal. % 47.42/47.59 apply (zenon_L23_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H609); [ zenon_intro zenon_H610 | zenon_intro zenon_H60f ]. % 47.42/47.59 cut (((op (e3) (e5)) = (e4)) = ((op (op (e0) (e3)) (e5)) = (op (e0) (op (e3) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H610. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H99. % 47.42/47.59 cut (((e4) = (op (e0) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9a]. % 47.42/47.59 cut (((op (e3) (e5)) = (op (op (e0) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H611]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e3)) (e5)) = (op (op (e0) (e3)) (e5)))); [ zenon_intro zenon_H612 | zenon_intro zenon_H613 ]. % 47.42/47.59 cut (((op (op (e0) (e3)) (e5)) = (op (op (e0) (e3)) (e5))) = ((op (e3) (e5)) = (op (op (e0) (e3)) (e5)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H611. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H612. % 47.42/47.59 cut (((op (op (e0) (e3)) (e5)) = (op (op (e0) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H613]. % 47.42/47.59 cut (((op (op (e0) (e3)) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H614]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H49d]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H49d zenon_H38). % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 apply zenon_H613. apply refl_equal. % 47.42/47.59 apply zenon_H613. apply refl_equal. % 47.42/47.59 apply (zenon_L24_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H60f); [ zenon_intro zenon_H616 | zenon_intro zenon_H615 ]. % 47.42/47.59 cut (((op (e4) (e0)) = (e4)) = ((op (op (e0) (e4)) (e0)) = (op (e0) (op (e4) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H616. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Ha1. % 47.42/47.59 cut (((e4) = (op (e0) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha2]. % 47.42/47.59 cut (((op (e4) (e0)) = (op (op (e0) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H617]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e4)) (e0)) = (op (op (e0) (e4)) (e0)))); [ zenon_intro zenon_H618 | zenon_intro zenon_H619 ]. % 47.42/47.59 cut (((op (op (e0) (e4)) (e0)) = (op (op (e0) (e4)) (e0))) = ((op (e4) (e0)) = (op (op (e0) (e4)) (e0)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H617. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H618. % 47.42/47.59 cut (((op (op (e0) (e4)) (e0)) = (op (op (e0) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H619]. % 47.42/47.59 cut (((op (op (e0) (e4)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H61a]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.59 cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H4a9]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H4a9 zenon_H1b). % 47.42/47.59 apply zenon_H5. apply refl_equal. % 47.42/47.59 apply zenon_H619. apply refl_equal. % 47.42/47.59 apply zenon_H619. apply refl_equal. % 47.42/47.59 apply (zenon_L25_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H615); [ zenon_intro zenon_H61c | zenon_intro zenon_H61b ]. % 47.42/47.59 cut (((op (e4) (e1)) = (e2)) = ((op (op (e0) (e4)) (e1)) = (op (e0) (op (e4) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H61c. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Ha9. % 47.42/47.59 cut (((e2) = (op (e0) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Haa]. % 47.42/47.59 cut (((op (e4) (e1)) = (op (op (e0) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H61d]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e4)) (e1)) = (op (op (e0) (e4)) (e1)))); [ zenon_intro zenon_H61e | zenon_intro zenon_H61f ]. % 47.42/47.59 cut (((op (op (e0) (e4)) (e1)) = (op (op (e0) (e4)) (e1))) = ((op (e4) (e1)) = (op (op (e0) (e4)) (e1)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H61d. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H61e. % 47.42/47.59 cut (((op (op (e0) (e4)) (e1)) = (op (op (e0) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H61f]. % 47.42/47.59 cut (((op (op (e0) (e4)) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H620]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.59 cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H4a9]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H4a9 zenon_H1b). % 47.42/47.59 apply zenon_H6. apply refl_equal. % 47.42/47.59 apply zenon_H61f. apply refl_equal. % 47.42/47.59 apply zenon_H61f. apply refl_equal. % 47.42/47.59 apply (zenon_L26_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H61b); [ zenon_intro zenon_H622 | zenon_intro zenon_H621 ]. % 47.42/47.59 cut (((op (e4) (e2)) = (e5)) = ((op (op (e0) (e4)) (e2)) = (op (e0) (op (e4) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H622. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hb1. % 47.42/47.59 cut (((e5) = (op (e0) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb2]. % 47.42/47.59 cut (((op (e4) (e2)) = (op (op (e0) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H623]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e4)) (e2)) = (op (op (e0) (e4)) (e2)))); [ zenon_intro zenon_H624 | zenon_intro zenon_H625 ]. % 47.42/47.59 cut (((op (op (e0) (e4)) (e2)) = (op (op (e0) (e4)) (e2))) = ((op (e4) (e2)) = (op (op (e0) (e4)) (e2)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H623. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H624. % 47.42/47.59 cut (((op (op (e0) (e4)) (e2)) = (op (op (e0) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H625]. % 47.42/47.59 cut (((op (op (e0) (e4)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H626]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.59 cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H4a9]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H4a9 zenon_H1b). % 47.42/47.59 apply zenon_H19. apply refl_equal. % 47.42/47.59 apply zenon_H625. apply refl_equal. % 47.42/47.59 apply zenon_H625. apply refl_equal. % 47.42/47.59 apply (zenon_L27_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H621); [ zenon_intro zenon_H628 | zenon_intro zenon_H627 ]. % 47.42/47.59 cut (((op (e4) (e3)) = (e1)) = ((op (op (e0) (e4)) (e3)) = (op (e0) (op (e4) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H628. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hb9. % 47.42/47.59 cut (((e1) = (op (e0) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hba]. % 47.42/47.59 cut (((op (e4) (e3)) = (op (op (e0) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H629]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e4)) (e3)) = (op (op (e0) (e4)) (e3)))); [ zenon_intro zenon_H62a | zenon_intro zenon_H62b ]. % 47.42/47.59 cut (((op (op (e0) (e4)) (e3)) = (op (op (e0) (e4)) (e3))) = ((op (e4) (e3)) = (op (op (e0) (e4)) (e3)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H629. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H62a. % 47.42/47.59 cut (((op (op (e0) (e4)) (e3)) = (op (op (e0) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H62b]. % 47.42/47.59 cut (((op (op (e0) (e4)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H62c]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.59 cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H4a9]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H4a9 zenon_H1b). % 47.42/47.59 apply zenon_H24. apply refl_equal. % 47.42/47.59 apply zenon_H62b. apply refl_equal. % 47.42/47.59 apply zenon_H62b. apply refl_equal. % 47.42/47.59 apply (zenon_L28_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H627); [ zenon_intro zenon_H62e | zenon_intro zenon_H62d ]. % 47.42/47.59 cut (((op (e4) (e4)) = (e3)) = ((op (op (e0) (e4)) (e4)) = (op (e0) (op (e4) (e4))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H62e. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hc1. % 47.42/47.59 cut (((e3) = (op (e0) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hc2]. % 47.42/47.59 cut (((op (e4) (e4)) = (op (op (e0) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H62f]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e4)) (e4)) = (op (op (e0) (e4)) (e4)))); [ zenon_intro zenon_H630 | zenon_intro zenon_H631 ]. % 47.42/47.59 cut (((op (op (e0) (e4)) (e4)) = (op (op (e0) (e4)) (e4))) = ((op (e4) (e4)) = (op (op (e0) (e4)) (e4)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H62f. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H630. % 47.42/47.59 cut (((op (op (e0) (e4)) (e4)) = (op (op (e0) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H631]. % 47.42/47.59 cut (((op (op (e0) (e4)) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H632]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H4a9]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H4a9 zenon_H1b). % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 apply zenon_H631. apply refl_equal. % 47.42/47.59 apply zenon_H631. apply refl_equal. % 47.42/47.59 apply (zenon_L29_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H62d); [ zenon_intro zenon_H634 | zenon_intro zenon_H633 ]. % 47.42/47.59 cut (((op (e4) (e5)) = (e0)) = ((op (op (e0) (e4)) (e5)) = (op (e0) (op (e4) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H634. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hc9. % 47.42/47.59 cut (((e0) = (op (e0) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 47.42/47.59 cut (((op (e4) (e5)) = (op (op (e0) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H635]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e4)) (e5)) = (op (op (e0) (e4)) (e5)))); [ zenon_intro zenon_H636 | zenon_intro zenon_H637 ]. % 47.42/47.59 cut (((op (op (e0) (e4)) (e5)) = (op (op (e0) (e4)) (e5))) = ((op (e4) (e5)) = (op (op (e0) (e4)) (e5)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H635. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H636. % 47.42/47.59 cut (((op (op (e0) (e4)) (e5)) = (op (op (e0) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H637]. % 47.42/47.59 cut (((op (op (e0) (e4)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H638]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H4a9]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H4a9 zenon_H1b). % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 apply zenon_H637. apply refl_equal. % 47.42/47.59 apply zenon_H637. apply refl_equal. % 47.42/47.59 apply (zenon_L30_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H633); [ zenon_intro zenon_H63a | zenon_intro zenon_H639 ]. % 47.42/47.59 cut (((op (e5) (e0)) = (e5)) = ((op (op (e0) (e5)) (e0)) = (op (e0) (op (e5) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H63a. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hd1. % 47.42/47.59 cut (((e5) = (op (e0) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hd2]. % 47.42/47.59 cut (((op (e5) (e0)) = (op (op (e0) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H63b]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e5)) (e0)) = (op (op (e0) (e5)) (e0)))); [ zenon_intro zenon_H63c | zenon_intro zenon_H63d ]. % 47.42/47.59 cut (((op (op (e0) (e5)) (e0)) = (op (op (e0) (e5)) (e0))) = ((op (e5) (e0)) = (op (op (e0) (e5)) (e0)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H63b. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H63c. % 47.42/47.59 cut (((op (op (e0) (e5)) (e0)) = (op (op (e0) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H63d]. % 47.42/47.59 cut (((op (op (e0) (e5)) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H63e]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.59 cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H4b4]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H4b4 zenon_H26). % 47.42/47.59 apply zenon_H5. apply refl_equal. % 47.42/47.59 apply zenon_H63d. apply refl_equal. % 47.42/47.59 apply zenon_H63d. apply refl_equal. % 47.42/47.59 apply (zenon_L31_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H639); [ zenon_intro zenon_H640 | zenon_intro zenon_H63f ]. % 47.42/47.59 cut (((op (e5) (e1)) = (e3)) = ((op (op (e0) (e5)) (e1)) = (op (e0) (op (e5) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H640. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hd9. % 47.42/47.59 cut (((e3) = (op (e0) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hda]. % 47.42/47.59 cut (((op (e5) (e1)) = (op (op (e0) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H641]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e5)) (e1)) = (op (op (e0) (e5)) (e1)))); [ zenon_intro zenon_H642 | zenon_intro zenon_H643 ]. % 47.42/47.59 cut (((op (op (e0) (e5)) (e1)) = (op (op (e0) (e5)) (e1))) = ((op (e5) (e1)) = (op (op (e0) (e5)) (e1)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H641. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H642. % 47.42/47.59 cut (((op (op (e0) (e5)) (e1)) = (op (op (e0) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H643]. % 47.42/47.59 cut (((op (op (e0) (e5)) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H644]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.59 cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H4b4]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H4b4 zenon_H26). % 47.42/47.59 apply zenon_H6. apply refl_equal. % 47.42/47.59 apply zenon_H643. apply refl_equal. % 47.42/47.59 apply zenon_H643. apply refl_equal. % 47.42/47.59 apply (zenon_L32_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H63f); [ zenon_intro zenon_H646 | zenon_intro zenon_H645 ]. % 47.42/47.59 cut (((op (e5) (e2)) = (e1)) = ((op (op (e0) (e5)) (e2)) = (op (e0) (op (e5) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H646. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_He1. % 47.42/47.59 cut (((e1) = (op (e0) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_He2]. % 47.42/47.59 cut (((op (e5) (e2)) = (op (op (e0) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H647]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e5)) (e2)) = (op (op (e0) (e5)) (e2)))); [ zenon_intro zenon_H648 | zenon_intro zenon_H649 ]. % 47.42/47.59 cut (((op (op (e0) (e5)) (e2)) = (op (op (e0) (e5)) (e2))) = ((op (e5) (e2)) = (op (op (e0) (e5)) (e2)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H647. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H648. % 47.42/47.59 cut (((op (op (e0) (e5)) (e2)) = (op (op (e0) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H649]. % 47.42/47.59 cut (((op (op (e0) (e5)) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H64a]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.59 cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H4b4]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H4b4 zenon_H26). % 47.42/47.59 apply zenon_H19. apply refl_equal. % 47.42/47.59 apply zenon_H649. apply refl_equal. % 47.42/47.59 apply zenon_H649. apply refl_equal. % 47.42/47.59 apply (zenon_L33_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H645); [ zenon_intro zenon_H64c | zenon_intro zenon_H64b ]. % 47.42/47.59 cut (((op (e5) (e3)) = (e4)) = ((op (op (e0) (e5)) (e3)) = (op (e0) (op (e5) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H64c. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_He9. % 47.42/47.59 cut (((e4) = (op (e0) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hea]. % 47.42/47.59 cut (((op (e5) (e3)) = (op (op (e0) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H64d]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e5)) (e3)) = (op (op (e0) (e5)) (e3)))); [ zenon_intro zenon_H64e | zenon_intro zenon_H64f ]. % 47.42/47.59 cut (((op (op (e0) (e5)) (e3)) = (op (op (e0) (e5)) (e3))) = ((op (e5) (e3)) = (op (op (e0) (e5)) (e3)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H64d. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H64e. % 47.42/47.59 cut (((op (op (e0) (e5)) (e3)) = (op (op (e0) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H64f]. % 47.42/47.59 cut (((op (op (e0) (e5)) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H650]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.59 cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H4b4]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H4b4 zenon_H26). % 47.42/47.59 apply zenon_H24. apply refl_equal. % 47.42/47.59 apply zenon_H64f. apply refl_equal. % 47.42/47.59 apply zenon_H64f. apply refl_equal. % 47.42/47.59 apply (zenon_L34_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H64b); [ zenon_intro zenon_H652 | zenon_intro zenon_H651 ]. % 47.42/47.59 cut (((op (e5) (e4)) = (e0)) = ((op (op (e0) (e5)) (e4)) = (op (e0) (op (e5) (e4))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H652. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hf1. % 47.42/47.59 cut (((e0) = (op (e0) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hf2]. % 47.42/47.59 cut (((op (e5) (e4)) = (op (op (e0) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H653]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e5)) (e4)) = (op (op (e0) (e5)) (e4)))); [ zenon_intro zenon_H654 | zenon_intro zenon_H655 ]. % 47.42/47.59 cut (((op (op (e0) (e5)) (e4)) = (op (op (e0) (e5)) (e4))) = ((op (e5) (e4)) = (op (op (e0) (e5)) (e4)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H653. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H654. % 47.42/47.59 cut (((op (op (e0) (e5)) (e4)) = (op (op (e0) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H655]. % 47.42/47.59 cut (((op (op (e0) (e5)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H656]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.59 cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H4b4]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H4b4 zenon_H26). % 47.42/47.59 apply zenon_H1a. apply refl_equal. % 47.42/47.59 apply zenon_H655. apply refl_equal. % 47.42/47.59 apply zenon_H655. apply refl_equal. % 47.42/47.59 apply (zenon_L35_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H651); [ zenon_intro zenon_H658 | zenon_intro zenon_H657 ]. % 47.42/47.59 cut (((op (e5) (e5)) = (e2)) = ((op (op (e0) (e5)) (e5)) = (op (e0) (op (e5) (e5))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H658. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_Hf9. % 47.42/47.59 cut (((e2) = (op (e0) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hfa]. % 47.42/47.59 cut (((op (e5) (e5)) = (op (op (e0) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H659]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e0) (e5)) (e5)) = (op (op (e0) (e5)) (e5)))); [ zenon_intro zenon_H65a | zenon_intro zenon_H65b ]. % 47.42/47.59 cut (((op (op (e0) (e5)) (e5)) = (op (op (e0) (e5)) (e5))) = ((op (e5) (e5)) = (op (op (e0) (e5)) (e5)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H659. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H65a. % 47.42/47.59 cut (((op (op (e0) (e5)) (e5)) = (op (op (e0) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H65b]. % 47.42/47.59 cut (((op (op (e0) (e5)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H65c]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.59 cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H4b4]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H4b4 zenon_H26). % 47.42/47.59 apply zenon_H25. apply refl_equal. % 47.42/47.59 apply zenon_H65b. apply refl_equal. % 47.42/47.59 apply zenon_H65b. apply refl_equal. % 47.42/47.59 apply (zenon_L36_); trivial. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H657); [ zenon_intro zenon_H65e | zenon_intro zenon_H65d ]. % 47.42/47.59 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H59e]. % 47.42/47.59 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_Hf zenon_H8). % 47.42/47.59 apply zenon_H59e. apply sym_equal. exact zenon_H10. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H65d); [ zenon_intro zenon_H660 | zenon_intro zenon_H65f ]. % 47.42/47.59 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H416]. % 47.42/47.59 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_Hf zenon_H8). % 47.42/47.59 apply zenon_H416. apply sym_equal. exact zenon_H7. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H65f); [ zenon_intro zenon_H662 | zenon_intro zenon_H661 ]. % 47.42/47.59 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H42c]. % 47.42/47.59 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_Hf zenon_H8). % 47.42/47.59 apply zenon_H42c. apply sym_equal. exact zenon_H2f. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H661); [ zenon_intro zenon_H664 | zenon_intro zenon_H663 ]. % 47.42/47.59 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H442]. % 47.42/47.59 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_Hf zenon_H8). % 47.42/47.59 apply zenon_H442. apply sym_equal. exact zenon_H38. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H663); [ zenon_intro zenon_H666 | zenon_intro zenon_H665 ]. % 47.42/47.59 cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H458]. % 47.42/47.59 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_Hf zenon_H8). % 47.42/47.59 apply zenon_H458. apply sym_equal. exact zenon_H1b. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H665); [ zenon_intro zenon_H668 | zenon_intro zenon_H667 ]. % 47.42/47.59 cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46e]. % 47.42/47.59 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_Hf zenon_H8). % 47.42/47.59 apply zenon_H46e. apply sym_equal. exact zenon_H26. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H667); [ zenon_intro zenon_H66a | zenon_intro zenon_H669 ]. % 47.42/47.59 cut (((op (e0) (e0)) = (e0)) = ((op (op (e1) (e1)) (e0)) = (op (e1) (op (e1) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H66a. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H10. % 47.42/47.59 cut (((e0) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H66b]. % 47.42/47.59 cut (((op (e0) (e0)) = (op (op (e1) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H66c]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e1) (e1)) (e0)) = (op (op (e1) (e1)) (e0)))); [ zenon_intro zenon_H66d | zenon_intro zenon_H66e ]. % 47.42/47.59 cut (((op (op (e1) (e1)) (e0)) = (op (op (e1) (e1)) (e0))) = ((op (e0) (e0)) = (op (op (e1) (e1)) (e0)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H66c. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H66d. % 47.42/47.59 cut (((op (op (e1) (e1)) (e0)) = (op (op (e1) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H66e]. % 47.42/47.59 cut (((op (op (e1) (e1)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H66f]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.59 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H18 zenon_H11). % 47.42/47.59 apply zenon_H5. apply refl_equal. % 47.42/47.59 apply zenon_H66e. apply refl_equal. % 47.42/47.59 apply zenon_H66e. apply refl_equal. % 47.42/47.59 elim (classic ((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [ zenon_intro zenon_H670 | zenon_intro zenon_H671 ]. % 47.42/47.59 cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0)))) = ((e0) = (op (e1) (op (e1) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H66b. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H670. % 47.42/47.59 cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H671]. % 47.42/47.59 cut (((op (e1) (op (e1) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H672]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e1) (e1)) = (e0)) = ((op (e1) (op (e1) (e0))) = (e0))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H672. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H11. % 47.42/47.59 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.59 cut (((op (e1) (e1)) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H673]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [ zenon_intro zenon_H670 | zenon_intro zenon_H671 ]. % 47.42/47.59 cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0)))) = ((op (e1) (e1)) = (op (e1) (op (e1) (e0))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H673. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H670. % 47.42/47.59 cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H671]. % 47.42/47.59 cut (((op (e1) (op (e1) (e0))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H674]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf]. % 47.42/47.59 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H6. apply refl_equal. % 47.42/47.59 exact (zenon_Hf zenon_H8). % 47.42/47.59 apply zenon_H671. apply refl_equal. % 47.42/47.59 apply zenon_H671. apply refl_equal. % 47.42/47.59 apply zenon_H5. apply refl_equal. % 47.42/47.59 apply zenon_H671. apply refl_equal. % 47.42/47.59 apply zenon_H671. apply refl_equal. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H669); [ zenon_intro zenon_H676 | zenon_intro zenon_H675 ]. % 47.42/47.59 cut (((op (e0) (e1)) = (e1)) = ((op (op (e1) (e1)) (e1)) = (op (e1) (op (e1) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H676. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H7. % 47.42/47.59 cut (((e1) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H677]. % 47.42/47.59 cut (((op (e0) (e1)) = (op (op (e1) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H678]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e1) (e1)) (e1)) = (op (op (e1) (e1)) (e1)))); [ zenon_intro zenon_H679 | zenon_intro zenon_H67a ]. % 47.42/47.59 cut (((op (op (e1) (e1)) (e1)) = (op (op (e1) (e1)) (e1))) = ((op (e0) (e1)) = (op (op (e1) (e1)) (e1)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H678. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H679. % 47.42/47.59 cut (((op (op (e1) (e1)) (e1)) = (op (op (e1) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H67a]. % 47.42/47.59 cut (((op (op (e1) (e1)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H67b]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.59 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H18 zenon_H11). % 47.42/47.59 apply zenon_H6. apply refl_equal. % 47.42/47.59 apply zenon_H67a. apply refl_equal. % 47.42/47.59 apply zenon_H67a. apply refl_equal. % 47.42/47.59 elim (classic ((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [ zenon_intro zenon_H67c | zenon_intro zenon_H67d ]. % 47.42/47.59 cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1)))) = ((e1) = (op (e1) (op (e1) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H677. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H67c. % 47.42/47.59 cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H67d]. % 47.42/47.59 cut (((op (e1) (op (e1) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H67e]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e1) (e1))) = (e1))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H67e. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H8. % 47.42/47.59 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.59 cut (((op (e1) (e0)) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H67f]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [ zenon_intro zenon_H67c | zenon_intro zenon_H67d ]. % 47.42/47.59 cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1)))) = ((op (e1) (e0)) = (op (e1) (op (e1) (e1))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H67f. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H67c. % 47.42/47.59 cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H67d]. % 47.42/47.59 cut (((op (e1) (op (e1) (e1))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H680]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18]. % 47.42/47.59 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H6. apply refl_equal. % 47.42/47.59 exact (zenon_H18 zenon_H11). % 47.42/47.59 apply zenon_H67d. apply refl_equal. % 47.42/47.59 apply zenon_H67d. apply refl_equal. % 47.42/47.59 apply zenon_H6. apply refl_equal. % 47.42/47.59 apply zenon_H67d. apply refl_equal. % 47.42/47.59 apply zenon_H67d. apply refl_equal. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H675); [ zenon_intro zenon_H682 | zenon_intro zenon_H681 ]. % 47.42/47.59 cut (((op (e0) (e2)) = (e2)) = ((op (op (e1) (e1)) (e2)) = (op (e1) (op (e1) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H682. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H2f. % 47.42/47.59 cut (((e2) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H683]. % 47.42/47.59 cut (((op (e0) (e2)) = (op (op (e1) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H684]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (op (e1) (e1)) (e2)) = (op (op (e1) (e1)) (e2)))); [ zenon_intro zenon_H685 | zenon_intro zenon_H686 ]. % 47.42/47.59 cut (((op (op (e1) (e1)) (e2)) = (op (op (e1) (e1)) (e2))) = ((op (e0) (e2)) = (op (op (e1) (e1)) (e2)))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H684. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H685. % 47.42/47.59 cut (((op (op (e1) (e1)) (e2)) = (op (op (e1) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H686]. % 47.42/47.59 cut (((op (op (e1) (e1)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H687]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.59 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18]. % 47.42/47.59 congruence. % 47.42/47.59 exact (zenon_H18 zenon_H11). % 47.42/47.59 apply zenon_H19. apply refl_equal. % 47.42/47.59 apply zenon_H686. apply refl_equal. % 47.42/47.59 apply zenon_H686. apply refl_equal. % 47.42/47.59 elim (classic ((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [ zenon_intro zenon_H688 | zenon_intro zenon_H689 ]. % 47.42/47.59 cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2)))) = ((e2) = (op (e1) (op (e1) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H683. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H688. % 47.42/47.59 cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H689]. % 47.42/47.59 cut (((op (e1) (op (e1) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H68a]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e1) (e4)) = (e2)) = ((op (e1) (op (e1) (e2))) = (e2))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H68a. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H30. % 47.42/47.59 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.59 cut (((op (e1) (e4)) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H68b]. % 47.42/47.59 congruence. % 47.42/47.59 elim (classic ((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [ zenon_intro zenon_H688 | zenon_intro zenon_H689 ]. % 47.42/47.59 cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2)))) = ((op (e1) (e4)) = (op (e1) (op (e1) (e2))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H68b. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H688. % 47.42/47.59 cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H689]. % 47.42/47.59 cut (((op (e1) (op (e1) (e2))) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H68c]. % 47.42/47.59 congruence. % 47.42/47.59 cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.42/47.59 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.59 congruence. % 47.42/47.59 apply zenon_H6. apply refl_equal. % 47.42/47.59 exact (zenon_H23 zenon_H1c). % 47.42/47.59 apply zenon_H689. apply refl_equal. % 47.42/47.59 apply zenon_H689. apply refl_equal. % 47.42/47.59 apply zenon_H19. apply refl_equal. % 47.42/47.59 apply zenon_H689. apply refl_equal. % 47.42/47.59 apply zenon_H689. apply refl_equal. % 47.42/47.59 apply (zenon_notand_s _ _ zenon_H681); [ zenon_intro zenon_H68e | zenon_intro zenon_H68d ]. % 47.42/47.59 cut (((op (e0) (e3)) = (e3)) = ((op (op (e1) (e1)) (e3)) = (op (e1) (op (e1) (e3))))). % 47.42/47.59 intro zenon_D_pnotp. % 47.42/47.59 apply zenon_H68e. % 47.42/47.59 rewrite <- zenon_D_pnotp. % 47.42/47.59 exact zenon_H38. % 47.42/47.60 cut (((e3) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H68f]. % 47.42/47.60 cut (((op (e0) (e3)) = (op (op (e1) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H690]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e1)) (e3)) = (op (op (e1) (e1)) (e3)))); [ zenon_intro zenon_H691 | zenon_intro zenon_H692 ]. % 47.42/47.60 cut (((op (op (e1) (e1)) (e3)) = (op (op (e1) (e1)) (e3))) = ((op (e0) (e3)) = (op (op (e1) (e1)) (e3)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H690. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H691. % 47.42/47.60 cut (((op (op (e1) (e1)) (e3)) = (op (op (e1) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H692]. % 47.42/47.60 cut (((op (op (e1) (e1)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H693]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.60 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H18 zenon_H11). % 47.42/47.60 apply zenon_H24. apply refl_equal. % 47.42/47.60 apply zenon_H692. apply refl_equal. % 47.42/47.60 apply zenon_H692. apply refl_equal. % 47.42/47.60 elim (classic ((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [ zenon_intro zenon_H694 | zenon_intro zenon_H695 ]. % 47.42/47.60 cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3)))) = ((e3) = (op (e1) (op (e1) (e3))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H68f. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H694. % 47.42/47.60 cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H695]. % 47.42/47.60 cut (((op (e1) (op (e1) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H696]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((op (e1) (e5)) = (e3)) = ((op (e1) (op (e1) (e3))) = (e3))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H696. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H39. % 47.42/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.60 cut (((op (e1) (e5)) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H697]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [ zenon_intro zenon_H694 | zenon_intro zenon_H695 ]. % 47.42/47.60 cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3)))) = ((op (e1) (e5)) = (op (e1) (op (e1) (e3))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H697. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H694. % 47.42/47.60 cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H695]. % 47.42/47.60 cut (((op (e1) (op (e1) (e3))) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H698]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.42/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.60 congruence. % 47.42/47.60 apply zenon_H6. apply refl_equal. % 47.42/47.60 exact (zenon_H2e zenon_H27). % 47.42/47.60 apply zenon_H695. apply refl_equal. % 47.42/47.60 apply zenon_H695. apply refl_equal. % 47.42/47.60 apply zenon_H24. apply refl_equal. % 47.42/47.60 apply zenon_H695. apply refl_equal. % 47.42/47.60 apply zenon_H695. apply refl_equal. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H68d); [ zenon_intro zenon_H69a | zenon_intro zenon_H699 ]. % 47.42/47.60 cut (((op (e0) (e4)) = (e4)) = ((op (op (e1) (e1)) (e4)) = (op (e1) (op (e1) (e4))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H69a. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H1b. % 47.42/47.60 cut (((e4) = (op (e1) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H69b]. % 47.42/47.60 cut (((op (e0) (e4)) = (op (op (e1) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H69c]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e1)) (e4)) = (op (op (e1) (e1)) (e4)))); [ zenon_intro zenon_H69d | zenon_intro zenon_H69e ]. % 47.42/47.60 cut (((op (op (e1) (e1)) (e4)) = (op (op (e1) (e1)) (e4))) = ((op (e0) (e4)) = (op (op (e1) (e1)) (e4)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H69c. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H69d. % 47.42/47.60 cut (((op (op (e1) (e1)) (e4)) = (op (op (e1) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H69e]. % 47.42/47.60 cut (((op (op (e1) (e1)) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H69f]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.60 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H18 zenon_H11). % 47.42/47.60 apply zenon_H1a. apply refl_equal. % 47.42/47.60 apply zenon_H69e. apply refl_equal. % 47.42/47.60 apply zenon_H69e. apply refl_equal. % 47.42/47.60 elim (classic ((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4))))); [ zenon_intro zenon_H6a0 | zenon_intro zenon_H6a1 ]. % 47.42/47.60 cut (((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4)))) = ((e4) = (op (e1) (op (e1) (e4))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H69b. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6a0. % 47.42/47.60 cut (((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H6a1]. % 47.42/47.60 cut (((op (e1) (op (e1) (e4))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H6a2]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((op (e1) (e2)) = (e4)) = ((op (e1) (op (e1) (e4))) = (e4))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6a2. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H1c. % 47.42/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.60 cut (((op (e1) (e2)) = (op (e1) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H6a3]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4))))); [ zenon_intro zenon_H6a0 | zenon_intro zenon_H6a1 ]. % 47.42/47.60 cut (((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4)))) = ((op (e1) (e2)) = (op (e1) (op (e1) (e4))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6a3. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6a0. % 47.42/47.60 cut (((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H6a1]. % 47.42/47.60 cut (((op (e1) (op (e1) (e4))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6a4]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.42/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.60 congruence. % 47.42/47.60 apply zenon_H6. apply refl_equal. % 47.42/47.60 exact (zenon_H37 zenon_H30). % 47.42/47.60 apply zenon_H6a1. apply refl_equal. % 47.42/47.60 apply zenon_H6a1. apply refl_equal. % 47.42/47.60 apply zenon_H1a. apply refl_equal. % 47.42/47.60 apply zenon_H6a1. apply refl_equal. % 47.42/47.60 apply zenon_H6a1. apply refl_equal. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H699); [ zenon_intro zenon_H6a6 | zenon_intro zenon_H6a5 ]. % 47.42/47.60 cut (((op (e0) (e5)) = (e5)) = ((op (op (e1) (e1)) (e5)) = (op (e1) (op (e1) (e5))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6a6. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H26. % 47.42/47.60 cut (((e5) = (op (e1) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6a7]. % 47.42/47.60 cut (((op (e0) (e5)) = (op (op (e1) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6a8]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e1)) (e5)) = (op (op (e1) (e1)) (e5)))); [ zenon_intro zenon_H6a9 | zenon_intro zenon_H6aa ]. % 47.42/47.60 cut (((op (op (e1) (e1)) (e5)) = (op (op (e1) (e1)) (e5))) = ((op (e0) (e5)) = (op (op (e1) (e1)) (e5)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6a8. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6a9. % 47.42/47.60 cut (((op (op (e1) (e1)) (e5)) = (op (op (e1) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6aa]. % 47.42/47.60 cut (((op (op (e1) (e1)) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6ab]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.60 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H18 zenon_H11). % 47.42/47.60 apply zenon_H25. apply refl_equal. % 47.42/47.60 apply zenon_H6aa. apply refl_equal. % 47.42/47.60 apply zenon_H6aa. apply refl_equal. % 47.42/47.60 elim (classic ((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5))))); [ zenon_intro zenon_H6ac | zenon_intro zenon_H6ad ]. % 47.42/47.60 cut (((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5)))) = ((e5) = (op (e1) (op (e1) (e5))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6a7. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6ac. % 47.42/47.60 cut (((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6ad]. % 47.42/47.60 cut (((op (e1) (op (e1) (e5))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H6ae]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((op (e1) (e3)) = (e5)) = ((op (e1) (op (e1) (e5))) = (e5))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6ae. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H27. % 47.42/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.60 cut (((op (e1) (e3)) = (op (e1) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6af]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5))))); [ zenon_intro zenon_H6ac | zenon_intro zenon_H6ad ]. % 47.42/47.60 cut (((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5)))) = ((op (e1) (e3)) = (op (e1) (op (e1) (e5))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6af. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6ac. % 47.42/47.60 cut (((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6ad]. % 47.42/47.60 cut (((op (e1) (op (e1) (e5))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6b0]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.42/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.60 congruence. % 47.42/47.60 apply zenon_H6. apply refl_equal. % 47.42/47.60 exact (zenon_H40 zenon_H39). % 47.42/47.60 apply zenon_H6ad. apply refl_equal. % 47.42/47.60 apply zenon_H6ad. apply refl_equal. % 47.42/47.60 apply zenon_H25. apply refl_equal. % 47.42/47.60 apply zenon_H6ad. apply refl_equal. % 47.42/47.60 apply zenon_H6ad. apply refl_equal. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H6a5); [ zenon_intro zenon_H6b2 | zenon_intro zenon_H6b1 ]. % 47.42/47.60 cut (((op (e4) (e0)) = (e4)) = ((op (op (e1) (e2)) (e0)) = (op (e1) (op (e2) (e0))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6b2. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Ha1. % 47.42/47.60 cut (((e4) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H101]. % 47.42/47.60 cut (((op (e4) (e0)) = (op (op (e1) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6b3]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e2)) (e0)) = (op (op (e1) (e2)) (e0)))); [ zenon_intro zenon_H6b4 | zenon_intro zenon_H6b5 ]. % 47.42/47.60 cut (((op (op (e1) (e2)) (e0)) = (op (op (e1) (e2)) (e0))) = ((op (e4) (e0)) = (op (op (e1) (e2)) (e0)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6b3. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6b4. % 47.42/47.60 cut (((op (op (e1) (e2)) (e0)) = (op (op (e1) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6b5]. % 47.42/47.60 cut (((op (op (e1) (e2)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6b6]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.60 cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H23 zenon_H1c). % 47.42/47.60 apply zenon_H5. apply refl_equal. % 47.42/47.60 apply zenon_H6b5. apply refl_equal. % 47.42/47.60 apply zenon_H6b5. apply refl_equal. % 47.42/47.60 apply (zenon_L37_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H6b1); [ zenon_intro zenon_H6b8 | zenon_intro zenon_H6b7 ]. % 47.42/47.60 cut (((op (e4) (e1)) = (e2)) = ((op (op (e1) (e2)) (e1)) = (op (e1) (op (e2) (e1))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6b8. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Ha9. % 47.42/47.60 cut (((e2) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H107]. % 47.42/47.60 cut (((op (e4) (e1)) = (op (op (e1) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6b9]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e2)) (e1)) = (op (op (e1) (e2)) (e1)))); [ zenon_intro zenon_H6ba | zenon_intro zenon_H6bb ]. % 47.42/47.60 cut (((op (op (e1) (e2)) (e1)) = (op (op (e1) (e2)) (e1))) = ((op (e4) (e1)) = (op (op (e1) (e2)) (e1)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6b9. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6ba. % 47.42/47.60 cut (((op (op (e1) (e2)) (e1)) = (op (op (e1) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6bb]. % 47.42/47.60 cut (((op (op (e1) (e2)) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6bc]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.60 cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H23 zenon_H1c). % 47.42/47.60 apply zenon_H6. apply refl_equal. % 47.42/47.60 apply zenon_H6bb. apply refl_equal. % 47.42/47.60 apply zenon_H6bb. apply refl_equal. % 47.42/47.60 apply (zenon_L38_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H6b7); [ zenon_intro zenon_H6be | zenon_intro zenon_H6bd ]. % 47.42/47.60 cut (((op (e4) (e2)) = (e5)) = ((op (op (e1) (e2)) (e2)) = (op (e1) (op (e2) (e2))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6be. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Hb1. % 47.42/47.60 cut (((e5) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H10d]. % 47.42/47.60 cut (((op (e4) (e2)) = (op (op (e1) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6bf]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e2)) (e2)) = (op (op (e1) (e2)) (e2)))); [ zenon_intro zenon_H6c0 | zenon_intro zenon_H6c1 ]. % 47.42/47.60 cut (((op (op (e1) (e2)) (e2)) = (op (op (e1) (e2)) (e2))) = ((op (e4) (e2)) = (op (op (e1) (e2)) (e2)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6bf. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6c0. % 47.42/47.60 cut (((op (op (e1) (e2)) (e2)) = (op (op (e1) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6c1]. % 47.42/47.60 cut (((op (op (e1) (e2)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6c2]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.60 cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H23 zenon_H1c). % 47.42/47.60 apply zenon_H19. apply refl_equal. % 47.42/47.60 apply zenon_H6c1. apply refl_equal. % 47.42/47.60 apply zenon_H6c1. apply refl_equal. % 47.42/47.60 apply (zenon_L39_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H6bd); [ zenon_intro zenon_H6c4 | zenon_intro zenon_H6c3 ]. % 47.42/47.60 cut (((op (e4) (e3)) = (e1)) = ((op (op (e1) (e2)) (e3)) = (op (e1) (op (e2) (e3))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6c4. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Hb9. % 47.42/47.60 cut (((e1) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H113]. % 47.42/47.60 cut (((op (e4) (e3)) = (op (op (e1) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6c5]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e2)) (e3)) = (op (op (e1) (e2)) (e3)))); [ zenon_intro zenon_H6c6 | zenon_intro zenon_H6c7 ]. % 47.42/47.60 cut (((op (op (e1) (e2)) (e3)) = (op (op (e1) (e2)) (e3))) = ((op (e4) (e3)) = (op (op (e1) (e2)) (e3)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6c5. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6c6. % 47.42/47.60 cut (((op (op (e1) (e2)) (e3)) = (op (op (e1) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6c7]. % 47.42/47.60 cut (((op (op (e1) (e2)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6c8]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.60 cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H23 zenon_H1c). % 47.42/47.60 apply zenon_H24. apply refl_equal. % 47.42/47.60 apply zenon_H6c7. apply refl_equal. % 47.42/47.60 apply zenon_H6c7. apply refl_equal. % 47.42/47.60 apply (zenon_L40_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H6c3); [ zenon_intro zenon_H6ca | zenon_intro zenon_H6c9 ]. % 47.42/47.60 cut (((op (e4) (e4)) = (e3)) = ((op (op (e1) (e2)) (e4)) = (op (e1) (op (e2) (e4))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6ca. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Hc1. % 47.42/47.60 cut (((e3) = (op (e1) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H119]. % 47.42/47.60 cut (((op (e4) (e4)) = (op (op (e1) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6cb]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e2)) (e4)) = (op (op (e1) (e2)) (e4)))); [ zenon_intro zenon_H6cc | zenon_intro zenon_H6cd ]. % 47.42/47.60 cut (((op (op (e1) (e2)) (e4)) = (op (op (e1) (e2)) (e4))) = ((op (e4) (e4)) = (op (op (e1) (e2)) (e4)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6cb. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6cc. % 47.42/47.60 cut (((op (op (e1) (e2)) (e4)) = (op (op (e1) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6cd]. % 47.42/47.60 cut (((op (op (e1) (e2)) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6ce]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.60 cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H23 zenon_H1c). % 47.42/47.60 apply zenon_H1a. apply refl_equal. % 47.42/47.60 apply zenon_H6cd. apply refl_equal. % 47.42/47.60 apply zenon_H6cd. apply refl_equal. % 47.42/47.60 apply (zenon_L41_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H6c9); [ zenon_intro zenon_H6d0 | zenon_intro zenon_H6cf ]. % 47.42/47.60 cut (((op (e4) (e5)) = (e0)) = ((op (op (e1) (e2)) (e5)) = (op (e1) (op (e2) (e5))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6d0. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Hc9. % 47.42/47.60 cut (((e0) = (op (e1) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H11f]. % 47.42/47.60 cut (((op (e4) (e5)) = (op (op (e1) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6d1]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e2)) (e5)) = (op (op (e1) (e2)) (e5)))); [ zenon_intro zenon_H6d2 | zenon_intro zenon_H6d3 ]. % 47.42/47.60 cut (((op (op (e1) (e2)) (e5)) = (op (op (e1) (e2)) (e5))) = ((op (e4) (e5)) = (op (op (e1) (e2)) (e5)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6d1. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6d2. % 47.42/47.60 cut (((op (op (e1) (e2)) (e5)) = (op (op (e1) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6d3]. % 47.42/47.60 cut (((op (op (e1) (e2)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6d4]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.60 cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H23 zenon_H1c). % 47.42/47.60 apply zenon_H25. apply refl_equal. % 47.42/47.60 apply zenon_H6d3. apply refl_equal. % 47.42/47.60 apply zenon_H6d3. apply refl_equal. % 47.42/47.60 apply (zenon_L42_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H6cf); [ zenon_intro zenon_H6d6 | zenon_intro zenon_H6d5 ]. % 47.42/47.60 cut (((op (e5) (e0)) = (e5)) = ((op (op (e1) (e3)) (e0)) = (op (e1) (op (e3) (e0))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6d6. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Hd1. % 47.42/47.60 cut (((e5) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H125]. % 47.42/47.60 cut (((op (e5) (e0)) = (op (op (e1) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6d7]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e3)) (e0)) = (op (op (e1) (e3)) (e0)))); [ zenon_intro zenon_H6d8 | zenon_intro zenon_H6d9 ]. % 47.42/47.60 cut (((op (op (e1) (e3)) (e0)) = (op (op (e1) (e3)) (e0))) = ((op (e5) (e0)) = (op (op (e1) (e3)) (e0)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6d7. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6d8. % 47.42/47.60 cut (((op (op (e1) (e3)) (e0)) = (op (op (e1) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6d9]. % 47.42/47.60 cut (((op (op (e1) (e3)) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6da]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.60 cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H2e zenon_H27). % 47.42/47.60 apply zenon_H5. apply refl_equal. % 47.42/47.60 apply zenon_H6d9. apply refl_equal. % 47.42/47.60 apply zenon_H6d9. apply refl_equal. % 47.42/47.60 apply (zenon_L43_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H6d5); [ zenon_intro zenon_H6dc | zenon_intro zenon_H6db ]. % 47.42/47.60 cut (((op (e5) (e1)) = (e3)) = ((op (op (e1) (e3)) (e1)) = (op (e1) (op (e3) (e1))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6dc. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Hd9. % 47.42/47.60 cut (((e3) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H12b]. % 47.42/47.60 cut (((op (e5) (e1)) = (op (op (e1) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6dd]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e3)) (e1)) = (op (op (e1) (e3)) (e1)))); [ zenon_intro zenon_H6de | zenon_intro zenon_H6df ]. % 47.42/47.60 cut (((op (op (e1) (e3)) (e1)) = (op (op (e1) (e3)) (e1))) = ((op (e5) (e1)) = (op (op (e1) (e3)) (e1)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6dd. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6de. % 47.42/47.60 cut (((op (op (e1) (e3)) (e1)) = (op (op (e1) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6df]. % 47.42/47.60 cut (((op (op (e1) (e3)) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6e0]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.60 cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H2e zenon_H27). % 47.42/47.60 apply zenon_H6. apply refl_equal. % 47.42/47.60 apply zenon_H6df. apply refl_equal. % 47.42/47.60 apply zenon_H6df. apply refl_equal. % 47.42/47.60 apply (zenon_L44_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H6db); [ zenon_intro zenon_H6e2 | zenon_intro zenon_H6e1 ]. % 47.42/47.60 cut (((op (e5) (e2)) = (e1)) = ((op (op (e1) (e3)) (e2)) = (op (e1) (op (e3) (e2))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6e2. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_He1. % 47.42/47.60 cut (((e1) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H131]. % 47.42/47.60 cut (((op (e5) (e2)) = (op (op (e1) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6e3]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e3)) (e2)) = (op (op (e1) (e3)) (e2)))); [ zenon_intro zenon_H6e4 | zenon_intro zenon_H6e5 ]. % 47.42/47.60 cut (((op (op (e1) (e3)) (e2)) = (op (op (e1) (e3)) (e2))) = ((op (e5) (e2)) = (op (op (e1) (e3)) (e2)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6e3. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6e4. % 47.42/47.60 cut (((op (op (e1) (e3)) (e2)) = (op (op (e1) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6e5]. % 47.42/47.60 cut (((op (op (e1) (e3)) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6e6]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.60 cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H2e zenon_H27). % 47.42/47.60 apply zenon_H19. apply refl_equal. % 47.42/47.60 apply zenon_H6e5. apply refl_equal. % 47.42/47.60 apply zenon_H6e5. apply refl_equal. % 47.42/47.60 apply (zenon_L45_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H6e1); [ zenon_intro zenon_H6e8 | zenon_intro zenon_H6e7 ]. % 47.42/47.60 cut (((op (e5) (e3)) = (e4)) = ((op (op (e1) (e3)) (e3)) = (op (e1) (op (e3) (e3))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6e8. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_He9. % 47.42/47.60 cut (((e4) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H137]. % 47.42/47.60 cut (((op (e5) (e3)) = (op (op (e1) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6e9]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e3)) (e3)) = (op (op (e1) (e3)) (e3)))); [ zenon_intro zenon_H6ea | zenon_intro zenon_H6eb ]. % 47.42/47.60 cut (((op (op (e1) (e3)) (e3)) = (op (op (e1) (e3)) (e3))) = ((op (e5) (e3)) = (op (op (e1) (e3)) (e3)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6e9. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6ea. % 47.42/47.60 cut (((op (op (e1) (e3)) (e3)) = (op (op (e1) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6eb]. % 47.42/47.60 cut (((op (op (e1) (e3)) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6ec]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.60 cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H2e zenon_H27). % 47.42/47.60 apply zenon_H24. apply refl_equal. % 47.42/47.60 apply zenon_H6eb. apply refl_equal. % 47.42/47.60 apply zenon_H6eb. apply refl_equal. % 47.42/47.60 apply (zenon_L46_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H6e7); [ zenon_intro zenon_H6ee | zenon_intro zenon_H6ed ]. % 47.42/47.60 cut (((op (e5) (e4)) = (e0)) = ((op (op (e1) (e3)) (e4)) = (op (e1) (op (e3) (e4))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6ee. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Hf1. % 47.42/47.60 cut (((e0) = (op (e1) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H13d]. % 47.42/47.60 cut (((op (e5) (e4)) = (op (op (e1) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6ef]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e3)) (e4)) = (op (op (e1) (e3)) (e4)))); [ zenon_intro zenon_H6f0 | zenon_intro zenon_H6f1 ]. % 47.42/47.60 cut (((op (op (e1) (e3)) (e4)) = (op (op (e1) (e3)) (e4))) = ((op (e5) (e4)) = (op (op (e1) (e3)) (e4)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6ef. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6f0. % 47.42/47.60 cut (((op (op (e1) (e3)) (e4)) = (op (op (e1) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6f1]. % 47.42/47.60 cut (((op (op (e1) (e3)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6f2]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.60 cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H2e zenon_H27). % 47.42/47.60 apply zenon_H1a. apply refl_equal. % 47.42/47.60 apply zenon_H6f1. apply refl_equal. % 47.42/47.60 apply zenon_H6f1. apply refl_equal. % 47.42/47.60 apply (zenon_L47_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H6ed); [ zenon_intro zenon_H6f4 | zenon_intro zenon_H6f3 ]. % 47.42/47.60 cut (((op (e5) (e5)) = (e2)) = ((op (op (e1) (e3)) (e5)) = (op (e1) (op (e3) (e5))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6f4. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Hf9. % 47.42/47.60 cut (((e2) = (op (e1) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H143]. % 47.42/47.60 cut (((op (e5) (e5)) = (op (op (e1) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6f5]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e3)) (e5)) = (op (op (e1) (e3)) (e5)))); [ zenon_intro zenon_H6f6 | zenon_intro zenon_H6f7 ]. % 47.42/47.60 cut (((op (op (e1) (e3)) (e5)) = (op (op (e1) (e3)) (e5))) = ((op (e5) (e5)) = (op (op (e1) (e3)) (e5)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6f5. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6f6. % 47.42/47.60 cut (((op (op (e1) (e3)) (e5)) = (op (op (e1) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6f7]. % 47.42/47.60 cut (((op (op (e1) (e3)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6f8]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.60 cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H2e zenon_H27). % 47.42/47.60 apply zenon_H25. apply refl_equal. % 47.42/47.60 apply zenon_H6f7. apply refl_equal. % 47.42/47.60 apply zenon_H6f7. apply refl_equal. % 47.42/47.60 apply (zenon_L48_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H6f3); [ zenon_intro zenon_H6fa | zenon_intro zenon_H6f9 ]. % 47.42/47.60 cut (((op (e2) (e0)) = (e2)) = ((op (op (e1) (e4)) (e0)) = (op (e1) (op (e4) (e0))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6fa. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H41. % 47.42/47.60 cut (((e2) = (op (e1) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H149]. % 47.42/47.60 cut (((op (e2) (e0)) = (op (op (e1) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6fb]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e4)) (e0)) = (op (op (e1) (e4)) (e0)))); [ zenon_intro zenon_H6fc | zenon_intro zenon_H6fd ]. % 47.42/47.60 cut (((op (op (e1) (e4)) (e0)) = (op (op (e1) (e4)) (e0))) = ((op (e2) (e0)) = (op (op (e1) (e4)) (e0)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H6fb. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H6fc. % 47.42/47.60 cut (((op (op (e1) (e4)) (e0)) = (op (op (e1) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6fd]. % 47.42/47.60 cut (((op (op (e1) (e4)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6fe]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.60 cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H37 zenon_H30). % 47.42/47.60 apply zenon_H5. apply refl_equal. % 47.42/47.60 apply zenon_H6fd. apply refl_equal. % 47.42/47.60 apply zenon_H6fd. apply refl_equal. % 47.42/47.60 apply (zenon_L49_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H6f9); [ zenon_intro zenon_H700 | zenon_intro zenon_H6ff ]. % 47.42/47.60 cut (((op (e2) (e1)) = (e4)) = ((op (op (e1) (e4)) (e1)) = (op (e1) (op (e4) (e1))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H700. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H49. % 47.42/47.60 cut (((e4) = (op (e1) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H14f]. % 47.42/47.60 cut (((op (e2) (e1)) = (op (op (e1) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H701]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e4)) (e1)) = (op (op (e1) (e4)) (e1)))); [ zenon_intro zenon_H702 | zenon_intro zenon_H703 ]. % 47.42/47.60 cut (((op (op (e1) (e4)) (e1)) = (op (op (e1) (e4)) (e1))) = ((op (e2) (e1)) = (op (op (e1) (e4)) (e1)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H701. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H702. % 47.42/47.60 cut (((op (op (e1) (e4)) (e1)) = (op (op (e1) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H703]. % 47.42/47.60 cut (((op (op (e1) (e4)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H704]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.60 cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H37 zenon_H30). % 47.42/47.60 apply zenon_H6. apply refl_equal. % 47.42/47.60 apply zenon_H703. apply refl_equal. % 47.42/47.60 apply zenon_H703. apply refl_equal. % 47.42/47.60 apply (zenon_L50_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H6ff); [ zenon_intro zenon_H706 | zenon_intro zenon_H705 ]. % 47.42/47.60 cut (((op (e2) (e2)) = (e3)) = ((op (op (e1) (e4)) (e2)) = (op (e1) (op (e4) (e2))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H706. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H51. % 47.42/47.60 cut (((e3) = (op (e1) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H155]. % 47.42/47.60 cut (((op (e2) (e2)) = (op (op (e1) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H707]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e4)) (e2)) = (op (op (e1) (e4)) (e2)))); [ zenon_intro zenon_H708 | zenon_intro zenon_H709 ]. % 47.42/47.60 cut (((op (op (e1) (e4)) (e2)) = (op (op (e1) (e4)) (e2))) = ((op (e2) (e2)) = (op (op (e1) (e4)) (e2)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H707. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H708. % 47.42/47.60 cut (((op (op (e1) (e4)) (e2)) = (op (op (e1) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H709]. % 47.42/47.60 cut (((op (op (e1) (e4)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H70a]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.60 cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H37 zenon_H30). % 47.42/47.60 apply zenon_H19. apply refl_equal. % 47.42/47.60 apply zenon_H709. apply refl_equal. % 47.42/47.60 apply zenon_H709. apply refl_equal. % 47.42/47.60 apply (zenon_L51_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H705); [ zenon_intro zenon_H70c | zenon_intro zenon_H70b ]. % 47.42/47.60 cut (((op (e2) (e3)) = (e0)) = ((op (op (e1) (e4)) (e3)) = (op (e1) (op (e4) (e3))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H70c. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H59. % 47.42/47.60 cut (((e0) = (op (e1) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H15b]. % 47.42/47.60 cut (((op (e2) (e3)) = (op (op (e1) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H70d]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e4)) (e3)) = (op (op (e1) (e4)) (e3)))); [ zenon_intro zenon_H70e | zenon_intro zenon_H70f ]. % 47.42/47.60 cut (((op (op (e1) (e4)) (e3)) = (op (op (e1) (e4)) (e3))) = ((op (e2) (e3)) = (op (op (e1) (e4)) (e3)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H70d. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H70e. % 47.42/47.60 cut (((op (op (e1) (e4)) (e3)) = (op (op (e1) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H70f]. % 47.42/47.60 cut (((op (op (e1) (e4)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H710]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.60 cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H37 zenon_H30). % 47.42/47.60 apply zenon_H24. apply refl_equal. % 47.42/47.60 apply zenon_H70f. apply refl_equal. % 47.42/47.60 apply zenon_H70f. apply refl_equal. % 47.42/47.60 apply (zenon_L52_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H70b); [ zenon_intro zenon_H712 | zenon_intro zenon_H711 ]. % 47.42/47.60 cut (((op (e2) (e4)) = (e5)) = ((op (op (e1) (e4)) (e4)) = (op (e1) (op (e4) (e4))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H712. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H61. % 47.42/47.60 cut (((e5) = (op (e1) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H161]. % 47.42/47.60 cut (((op (e2) (e4)) = (op (op (e1) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H713]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e4)) (e4)) = (op (op (e1) (e4)) (e4)))); [ zenon_intro zenon_H714 | zenon_intro zenon_H715 ]. % 47.42/47.60 cut (((op (op (e1) (e4)) (e4)) = (op (op (e1) (e4)) (e4))) = ((op (e2) (e4)) = (op (op (e1) (e4)) (e4)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H713. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H714. % 47.42/47.60 cut (((op (op (e1) (e4)) (e4)) = (op (op (e1) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H715]. % 47.42/47.60 cut (((op (op (e1) (e4)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H716]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.60 cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H37 zenon_H30). % 47.42/47.60 apply zenon_H1a. apply refl_equal. % 47.42/47.60 apply zenon_H715. apply refl_equal. % 47.42/47.60 apply zenon_H715. apply refl_equal. % 47.42/47.60 apply (zenon_L53_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H711); [ zenon_intro zenon_H718 | zenon_intro zenon_H717 ]. % 47.42/47.60 cut (((op (e2) (e5)) = (e1)) = ((op (op (e1) (e4)) (e5)) = (op (e1) (op (e4) (e5))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H718. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H69. % 47.42/47.60 cut (((e1) = (op (e1) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H167]. % 47.42/47.60 cut (((op (e2) (e5)) = (op (op (e1) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H719]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e4)) (e5)) = (op (op (e1) (e4)) (e5)))); [ zenon_intro zenon_H71a | zenon_intro zenon_H71b ]. % 47.42/47.60 cut (((op (op (e1) (e4)) (e5)) = (op (op (e1) (e4)) (e5))) = ((op (e2) (e5)) = (op (op (e1) (e4)) (e5)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H719. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H71a. % 47.42/47.60 cut (((op (op (e1) (e4)) (e5)) = (op (op (e1) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H71b]. % 47.42/47.60 cut (((op (op (e1) (e4)) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H71c]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.60 cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H37 zenon_H30). % 47.42/47.60 apply zenon_H25. apply refl_equal. % 47.42/47.60 apply zenon_H71b. apply refl_equal. % 47.42/47.60 apply zenon_H71b. apply refl_equal. % 47.42/47.60 apply (zenon_L54_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H717); [ zenon_intro zenon_H71e | zenon_intro zenon_H71d ]. % 47.42/47.60 cut (((op (e3) (e0)) = (e3)) = ((op (op (e1) (e5)) (e0)) = (op (e1) (op (e5) (e0))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H71e. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H71. % 47.42/47.60 cut (((e3) = (op (e1) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H16d]. % 47.42/47.60 cut (((op (e3) (e0)) = (op (op (e1) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H71f]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e5)) (e0)) = (op (op (e1) (e5)) (e0)))); [ zenon_intro zenon_H720 | zenon_intro zenon_H721 ]. % 47.42/47.60 cut (((op (op (e1) (e5)) (e0)) = (op (op (e1) (e5)) (e0))) = ((op (e3) (e0)) = (op (op (e1) (e5)) (e0)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H71f. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H720. % 47.42/47.60 cut (((op (op (e1) (e5)) (e0)) = (op (op (e1) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H721]. % 47.42/47.60 cut (((op (op (e1) (e5)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H722]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.60 cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H40 zenon_H39). % 47.42/47.60 apply zenon_H5. apply refl_equal. % 47.42/47.60 apply zenon_H721. apply refl_equal. % 47.42/47.60 apply zenon_H721. apply refl_equal. % 47.42/47.60 apply (zenon_L55_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H71d); [ zenon_intro zenon_H724 | zenon_intro zenon_H723 ]. % 47.42/47.60 cut (((op (e3) (e1)) = (e5)) = ((op (op (e1) (e5)) (e1)) = (op (e1) (op (e5) (e1))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H724. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H79. % 47.42/47.60 cut (((e5) = (op (e1) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H173]. % 47.42/47.60 cut (((op (e3) (e1)) = (op (op (e1) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H725]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e5)) (e1)) = (op (op (e1) (e5)) (e1)))); [ zenon_intro zenon_H726 | zenon_intro zenon_H727 ]. % 47.42/47.60 cut (((op (op (e1) (e5)) (e1)) = (op (op (e1) (e5)) (e1))) = ((op (e3) (e1)) = (op (op (e1) (e5)) (e1)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H725. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H726. % 47.42/47.60 cut (((op (op (e1) (e5)) (e1)) = (op (op (e1) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H727]. % 47.42/47.60 cut (((op (op (e1) (e5)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H728]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.60 cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H40 zenon_H39). % 47.42/47.60 apply zenon_H6. apply refl_equal. % 47.42/47.60 apply zenon_H727. apply refl_equal. % 47.42/47.60 apply zenon_H727. apply refl_equal. % 47.42/47.60 apply (zenon_L56_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H723); [ zenon_intro zenon_H72a | zenon_intro zenon_H729 ]. % 47.42/47.60 cut (((op (e3) (e2)) = (e0)) = ((op (op (e1) (e5)) (e2)) = (op (e1) (op (e5) (e2))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H72a. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H81. % 47.42/47.60 cut (((e0) = (op (e1) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H179]. % 47.42/47.60 cut (((op (e3) (e2)) = (op (op (e1) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H72b]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e5)) (e2)) = (op (op (e1) (e5)) (e2)))); [ zenon_intro zenon_H72c | zenon_intro zenon_H72d ]. % 47.42/47.60 cut (((op (op (e1) (e5)) (e2)) = (op (op (e1) (e5)) (e2))) = ((op (e3) (e2)) = (op (op (e1) (e5)) (e2)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H72b. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H72c. % 47.42/47.60 cut (((op (op (e1) (e5)) (e2)) = (op (op (e1) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H72d]. % 47.42/47.60 cut (((op (op (e1) (e5)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H72e]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.60 cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H40 zenon_H39). % 47.42/47.60 apply zenon_H19. apply refl_equal. % 47.42/47.60 apply zenon_H72d. apply refl_equal. % 47.42/47.60 apply zenon_H72d. apply refl_equal. % 47.42/47.60 apply (zenon_L57_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H729); [ zenon_intro zenon_H730 | zenon_intro zenon_H72f ]. % 47.42/47.60 cut (((op (e3) (e3)) = (e2)) = ((op (op (e1) (e5)) (e3)) = (op (e1) (op (e5) (e3))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H730. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H89. % 47.42/47.60 cut (((e2) = (op (e1) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H17f]. % 47.42/47.60 cut (((op (e3) (e3)) = (op (op (e1) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H731]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e5)) (e3)) = (op (op (e1) (e5)) (e3)))); [ zenon_intro zenon_H732 | zenon_intro zenon_H733 ]. % 47.42/47.60 cut (((op (op (e1) (e5)) (e3)) = (op (op (e1) (e5)) (e3))) = ((op (e3) (e3)) = (op (op (e1) (e5)) (e3)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H731. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H732. % 47.42/47.60 cut (((op (op (e1) (e5)) (e3)) = (op (op (e1) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H733]. % 47.42/47.60 cut (((op (op (e1) (e5)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H734]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.60 cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H40 zenon_H39). % 47.42/47.60 apply zenon_H24. apply refl_equal. % 47.42/47.60 apply zenon_H733. apply refl_equal. % 47.42/47.60 apply zenon_H733. apply refl_equal. % 47.42/47.60 apply (zenon_L58_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H72f); [ zenon_intro zenon_H736 | zenon_intro zenon_H735 ]. % 47.42/47.60 cut (((op (e3) (e4)) = (e1)) = ((op (op (e1) (e5)) (e4)) = (op (e1) (op (e5) (e4))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H736. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H91. % 47.42/47.60 cut (((e1) = (op (e1) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H185]. % 47.42/47.60 cut (((op (e3) (e4)) = (op (op (e1) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H737]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e5)) (e4)) = (op (op (e1) (e5)) (e4)))); [ zenon_intro zenon_H738 | zenon_intro zenon_H739 ]. % 47.42/47.60 cut (((op (op (e1) (e5)) (e4)) = (op (op (e1) (e5)) (e4))) = ((op (e3) (e4)) = (op (op (e1) (e5)) (e4)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H737. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H738. % 47.42/47.60 cut (((op (op (e1) (e5)) (e4)) = (op (op (e1) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H739]. % 47.42/47.60 cut (((op (op (e1) (e5)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H73a]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.60 cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H40 zenon_H39). % 47.42/47.60 apply zenon_H1a. apply refl_equal. % 47.42/47.60 apply zenon_H739. apply refl_equal. % 47.42/47.60 apply zenon_H739. apply refl_equal. % 47.42/47.60 apply (zenon_L59_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H735); [ zenon_intro zenon_H73c | zenon_intro zenon_H73b ]. % 47.42/47.60 cut (((op (e3) (e5)) = (e4)) = ((op (op (e1) (e5)) (e5)) = (op (e1) (op (e5) (e5))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H73c. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H99. % 47.42/47.60 cut (((e4) = (op (e1) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H18b]. % 47.42/47.60 cut (((op (e3) (e5)) = (op (op (e1) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H73d]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e1) (e5)) (e5)) = (op (op (e1) (e5)) (e5)))); [ zenon_intro zenon_H73e | zenon_intro zenon_H73f ]. % 47.42/47.60 cut (((op (op (e1) (e5)) (e5)) = (op (op (e1) (e5)) (e5))) = ((op (e3) (e5)) = (op (op (e1) (e5)) (e5)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H73d. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H73e. % 47.42/47.60 cut (((op (op (e1) (e5)) (e5)) = (op (op (e1) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H73f]. % 47.42/47.60 cut (((op (op (e1) (e5)) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H740]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.60 cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H40 zenon_H39). % 47.42/47.60 apply zenon_H25. apply refl_equal. % 47.42/47.60 apply zenon_H73f. apply refl_equal. % 47.42/47.60 apply zenon_H73f. apply refl_equal. % 47.42/47.60 apply (zenon_L60_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H73b); [ zenon_intro zenon_H742 | zenon_intro zenon_H741 ]. % 47.42/47.60 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H59e]. % 47.42/47.60 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H48 zenon_H41). % 47.42/47.60 apply zenon_H59e. apply sym_equal. exact zenon_H10. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H741); [ zenon_intro zenon_H744 | zenon_intro zenon_H743 ]. % 47.42/47.60 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H416]. % 47.42/47.60 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H48 zenon_H41). % 47.42/47.60 apply zenon_H416. apply sym_equal. exact zenon_H7. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H743); [ zenon_intro zenon_H746 | zenon_intro zenon_H745 ]. % 47.42/47.60 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H42c]. % 47.42/47.60 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H48 zenon_H41). % 47.42/47.60 apply zenon_H42c. apply sym_equal. exact zenon_H2f. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H745); [ zenon_intro zenon_H748 | zenon_intro zenon_H747 ]. % 47.42/47.60 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H442]. % 47.42/47.60 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H48 zenon_H41). % 47.42/47.60 apply zenon_H442. apply sym_equal. exact zenon_H38. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H747); [ zenon_intro zenon_H74a | zenon_intro zenon_H749 ]. % 47.42/47.60 cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H458]. % 47.42/47.60 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H48 zenon_H41). % 47.42/47.60 apply zenon_H458. apply sym_equal. exact zenon_H1b. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H749); [ zenon_intro zenon_H74c | zenon_intro zenon_H74b ]. % 47.42/47.60 cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46e]. % 47.42/47.60 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H48 zenon_H41). % 47.42/47.60 apply zenon_H46e. apply sym_equal. exact zenon_H26. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H74b); [ zenon_intro zenon_H74e | zenon_intro zenon_H74d ]. % 47.42/47.60 cut (((op (e4) (e0)) = (e4)) = ((op (op (e2) (e1)) (e0)) = (op (e2) (op (e1) (e0))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H74e. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Ha1. % 47.42/47.60 cut (((e4) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H191]. % 47.42/47.60 cut (((op (e4) (e0)) = (op (op (e2) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H74f]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e2) (e1)) (e0)) = (op (op (e2) (e1)) (e0)))); [ zenon_intro zenon_H750 | zenon_intro zenon_H751 ]. % 47.42/47.60 cut (((op (op (e2) (e1)) (e0)) = (op (op (e2) (e1)) (e0))) = ((op (e4) (e0)) = (op (op (e2) (e1)) (e0)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H74f. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H750. % 47.42/47.60 cut (((op (op (e2) (e1)) (e0)) = (op (op (e2) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H751]. % 47.42/47.60 cut (((op (op (e2) (e1)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H752]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.60 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H50 zenon_H49). % 47.42/47.60 apply zenon_H5. apply refl_equal. % 47.42/47.60 apply zenon_H751. apply refl_equal. % 47.42/47.60 apply zenon_H751. apply refl_equal. % 47.42/47.60 apply (zenon_L61_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H74d); [ zenon_intro zenon_H754 | zenon_intro zenon_H753 ]. % 47.42/47.60 cut (((op (e4) (e1)) = (e2)) = ((op (op (e2) (e1)) (e1)) = (op (e2) (op (e1) (e1))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H754. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Ha9. % 47.42/47.60 cut (((e2) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H197]. % 47.42/47.60 cut (((op (e4) (e1)) = (op (op (e2) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H755]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e2) (e1)) (e1)) = (op (op (e2) (e1)) (e1)))); [ zenon_intro zenon_H756 | zenon_intro zenon_H757 ]. % 47.42/47.60 cut (((op (op (e2) (e1)) (e1)) = (op (op (e2) (e1)) (e1))) = ((op (e4) (e1)) = (op (op (e2) (e1)) (e1)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H755. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H756. % 47.42/47.60 cut (((op (op (e2) (e1)) (e1)) = (op (op (e2) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H757]. % 47.42/47.60 cut (((op (op (e2) (e1)) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H758]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.60 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H50 zenon_H49). % 47.42/47.60 apply zenon_H6. apply refl_equal. % 47.42/47.60 apply zenon_H757. apply refl_equal. % 47.42/47.60 apply zenon_H757. apply refl_equal. % 47.42/47.60 apply (zenon_L62_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H753); [ zenon_intro zenon_H75a | zenon_intro zenon_H759 ]. % 47.42/47.60 cut (((op (e4) (e2)) = (e5)) = ((op (op (e2) (e1)) (e2)) = (op (e2) (op (e1) (e2))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H75a. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Hb1. % 47.42/47.60 cut (((e5) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H19d]. % 47.42/47.60 cut (((op (e4) (e2)) = (op (op (e2) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H75b]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e2) (e1)) (e2)) = (op (op (e2) (e1)) (e2)))); [ zenon_intro zenon_H75c | zenon_intro zenon_H75d ]. % 47.42/47.60 cut (((op (op (e2) (e1)) (e2)) = (op (op (e2) (e1)) (e2))) = ((op (e4) (e2)) = (op (op (e2) (e1)) (e2)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H75b. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H75c. % 47.42/47.60 cut (((op (op (e2) (e1)) (e2)) = (op (op (e2) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H75d]. % 47.42/47.60 cut (((op (op (e2) (e1)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H75e]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.60 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H50 zenon_H49). % 47.42/47.60 apply zenon_H19. apply refl_equal. % 47.42/47.60 apply zenon_H75d. apply refl_equal. % 47.42/47.60 apply zenon_H75d. apply refl_equal. % 47.42/47.60 apply (zenon_L63_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H759); [ zenon_intro zenon_H760 | zenon_intro zenon_H75f ]. % 47.42/47.60 cut (((op (e4) (e3)) = (e1)) = ((op (op (e2) (e1)) (e3)) = (op (e2) (op (e1) (e3))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H760. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Hb9. % 47.42/47.60 cut (((e1) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1a3]. % 47.42/47.60 cut (((op (e4) (e3)) = (op (op (e2) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H761]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e2) (e1)) (e3)) = (op (op (e2) (e1)) (e3)))); [ zenon_intro zenon_H762 | zenon_intro zenon_H763 ]. % 47.42/47.60 cut (((op (op (e2) (e1)) (e3)) = (op (op (e2) (e1)) (e3))) = ((op (e4) (e3)) = (op (op (e2) (e1)) (e3)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H761. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H762. % 47.42/47.60 cut (((op (op (e2) (e1)) (e3)) = (op (op (e2) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H763]. % 47.42/47.60 cut (((op (op (e2) (e1)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H764]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.60 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H50 zenon_H49). % 47.42/47.60 apply zenon_H24. apply refl_equal. % 47.42/47.60 apply zenon_H763. apply refl_equal. % 47.42/47.60 apply zenon_H763. apply refl_equal. % 47.42/47.60 apply (zenon_L64_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H75f); [ zenon_intro zenon_H766 | zenon_intro zenon_H765 ]. % 47.42/47.60 cut (((op (e4) (e4)) = (e3)) = ((op (op (e2) (e1)) (e4)) = (op (e2) (op (e1) (e4))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H766. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Hc1. % 47.42/47.60 cut (((e3) = (op (e2) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1a9]. % 47.42/47.60 cut (((op (e4) (e4)) = (op (op (e2) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H767]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e2) (e1)) (e4)) = (op (op (e2) (e1)) (e4)))); [ zenon_intro zenon_H768 | zenon_intro zenon_H769 ]. % 47.42/47.60 cut (((op (op (e2) (e1)) (e4)) = (op (op (e2) (e1)) (e4))) = ((op (e4) (e4)) = (op (op (e2) (e1)) (e4)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H767. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H768. % 47.42/47.60 cut (((op (op (e2) (e1)) (e4)) = (op (op (e2) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H769]. % 47.42/47.60 cut (((op (op (e2) (e1)) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H76a]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.60 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H50 zenon_H49). % 47.42/47.60 apply zenon_H1a. apply refl_equal. % 47.42/47.60 apply zenon_H769. apply refl_equal. % 47.42/47.60 apply zenon_H769. apply refl_equal. % 47.42/47.60 apply (zenon_L65_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H765); [ zenon_intro zenon_H76c | zenon_intro zenon_H76b ]. % 47.42/47.60 cut (((op (e4) (e5)) = (e0)) = ((op (op (e2) (e1)) (e5)) = (op (e2) (op (e1) (e5))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H76c. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_Hc9. % 47.42/47.60 cut (((e0) = (op (e2) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1af]. % 47.42/47.60 cut (((op (e4) (e5)) = (op (op (e2) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H76d]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e2) (e1)) (e5)) = (op (op (e2) (e1)) (e5)))); [ zenon_intro zenon_H76e | zenon_intro zenon_H76f ]. % 47.42/47.60 cut (((op (op (e2) (e1)) (e5)) = (op (op (e2) (e1)) (e5))) = ((op (e4) (e5)) = (op (op (e2) (e1)) (e5)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H76d. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H76e. % 47.42/47.60 cut (((op (op (e2) (e1)) (e5)) = (op (op (e2) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H76f]. % 47.42/47.60 cut (((op (op (e2) (e1)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H770]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.60 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H50 zenon_H49). % 47.42/47.60 apply zenon_H25. apply refl_equal. % 47.42/47.60 apply zenon_H76f. apply refl_equal. % 47.42/47.60 apply zenon_H76f. apply refl_equal. % 47.42/47.60 apply (zenon_L66_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H76b); [ zenon_intro zenon_H772 | zenon_intro zenon_H771 ]. % 47.42/47.60 cut (((op (e3) (e0)) = (e3)) = ((op (op (e2) (e2)) (e0)) = (op (e2) (op (e2) (e0))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H772. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H71. % 47.42/47.60 cut (((e3) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1b5]. % 47.42/47.60 cut (((op (e3) (e0)) = (op (op (e2) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H773]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e2) (e2)) (e0)) = (op (op (e2) (e2)) (e0)))); [ zenon_intro zenon_H774 | zenon_intro zenon_H775 ]. % 47.42/47.60 cut (((op (op (e2) (e2)) (e0)) = (op (op (e2) (e2)) (e0))) = ((op (e3) (e0)) = (op (op (e2) (e2)) (e0)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H773. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H774. % 47.42/47.60 cut (((op (op (e2) (e2)) (e0)) = (op (op (e2) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H775]. % 47.42/47.60 cut (((op (op (e2) (e2)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H776]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.42/47.60 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H58 zenon_H51). % 47.42/47.60 apply zenon_H5. apply refl_equal. % 47.42/47.60 apply zenon_H775. apply refl_equal. % 47.42/47.60 apply zenon_H775. apply refl_equal. % 47.42/47.60 apply (zenon_L67_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H771); [ zenon_intro zenon_H778 | zenon_intro zenon_H777 ]. % 47.42/47.60 cut (((op (e3) (e1)) = (e5)) = ((op (op (e2) (e2)) (e1)) = (op (e2) (op (e2) (e1))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H778. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H79. % 47.42/47.60 cut (((e5) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1bb]. % 47.42/47.60 cut (((op (e3) (e1)) = (op (op (e2) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H779]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e2) (e2)) (e1)) = (op (op (e2) (e2)) (e1)))); [ zenon_intro zenon_H77a | zenon_intro zenon_H77b ]. % 47.42/47.60 cut (((op (op (e2) (e2)) (e1)) = (op (op (e2) (e2)) (e1))) = ((op (e3) (e1)) = (op (op (e2) (e2)) (e1)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H779. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H77a. % 47.42/47.60 cut (((op (op (e2) (e2)) (e1)) = (op (op (e2) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H77b]. % 47.42/47.60 cut (((op (op (e2) (e2)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H77c]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.42/47.60 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H58 zenon_H51). % 47.42/47.60 apply zenon_H6. apply refl_equal. % 47.42/47.60 apply zenon_H77b. apply refl_equal. % 47.42/47.60 apply zenon_H77b. apply refl_equal. % 47.42/47.60 apply (zenon_L68_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H777); [ zenon_intro zenon_H77e | zenon_intro zenon_H77d ]. % 47.42/47.60 cut (((op (e3) (e2)) = (e0)) = ((op (op (e2) (e2)) (e2)) = (op (e2) (op (e2) (e2))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H77e. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H81. % 47.42/47.60 cut (((e0) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1c1]. % 47.42/47.60 cut (((op (e3) (e2)) = (op (op (e2) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H77f]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e2) (e2)) (e2)) = (op (op (e2) (e2)) (e2)))); [ zenon_intro zenon_H780 | zenon_intro zenon_H781 ]. % 47.42/47.60 cut (((op (op (e2) (e2)) (e2)) = (op (op (e2) (e2)) (e2))) = ((op (e3) (e2)) = (op (op (e2) (e2)) (e2)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H77f. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H780. % 47.42/47.60 cut (((op (op (e2) (e2)) (e2)) = (op (op (e2) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H781]. % 47.42/47.60 cut (((op (op (e2) (e2)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H782]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.42/47.60 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H58 zenon_H51). % 47.42/47.60 apply zenon_H19. apply refl_equal. % 47.42/47.60 apply zenon_H781. apply refl_equal. % 47.42/47.60 apply zenon_H781. apply refl_equal. % 47.42/47.60 apply (zenon_L69_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H77d); [ zenon_intro zenon_H784 | zenon_intro zenon_H783 ]. % 47.42/47.60 cut (((op (e3) (e3)) = (e2)) = ((op (op (e2) (e2)) (e3)) = (op (e2) (op (e2) (e3))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H784. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H89. % 47.42/47.60 cut (((e2) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1c7]. % 47.42/47.60 cut (((op (e3) (e3)) = (op (op (e2) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H785]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e2) (e2)) (e3)) = (op (op (e2) (e2)) (e3)))); [ zenon_intro zenon_H786 | zenon_intro zenon_H787 ]. % 47.42/47.60 cut (((op (op (e2) (e2)) (e3)) = (op (op (e2) (e2)) (e3))) = ((op (e3) (e3)) = (op (op (e2) (e2)) (e3)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H785. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H786. % 47.42/47.60 cut (((op (op (e2) (e2)) (e3)) = (op (op (e2) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H787]. % 47.42/47.60 cut (((op (op (e2) (e2)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H788]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.42/47.60 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H58 zenon_H51). % 47.42/47.60 apply zenon_H24. apply refl_equal. % 47.42/47.60 apply zenon_H787. apply refl_equal. % 47.42/47.60 apply zenon_H787. apply refl_equal. % 47.42/47.60 apply (zenon_L70_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H783); [ zenon_intro zenon_H78a | zenon_intro zenon_H789 ]. % 47.42/47.60 cut (((op (e3) (e4)) = (e1)) = ((op (op (e2) (e2)) (e4)) = (op (e2) (op (e2) (e4))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H78a. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H91. % 47.42/47.60 cut (((e1) = (op (e2) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1cd]. % 47.42/47.60 cut (((op (e3) (e4)) = (op (op (e2) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H78b]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e2) (e2)) (e4)) = (op (op (e2) (e2)) (e4)))); [ zenon_intro zenon_H78c | zenon_intro zenon_H78d ]. % 47.42/47.60 cut (((op (op (e2) (e2)) (e4)) = (op (op (e2) (e2)) (e4))) = ((op (e3) (e4)) = (op (op (e2) (e2)) (e4)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H78b. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H78c. % 47.42/47.60 cut (((op (op (e2) (e2)) (e4)) = (op (op (e2) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H78d]. % 47.42/47.60 cut (((op (op (e2) (e2)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H78e]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.42/47.60 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H58 zenon_H51). % 47.42/47.60 apply zenon_H1a. apply refl_equal. % 47.42/47.60 apply zenon_H78d. apply refl_equal. % 47.42/47.60 apply zenon_H78d. apply refl_equal. % 47.42/47.60 apply (zenon_L71_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H789); [ zenon_intro zenon_H790 | zenon_intro zenon_H78f ]. % 47.42/47.60 cut (((op (e3) (e5)) = (e4)) = ((op (op (e2) (e2)) (e5)) = (op (e2) (op (e2) (e5))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H790. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H99. % 47.42/47.60 cut (((e4) = (op (e2) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1d3]. % 47.42/47.60 cut (((op (e3) (e5)) = (op (op (e2) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H791]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e2) (e2)) (e5)) = (op (op (e2) (e2)) (e5)))); [ zenon_intro zenon_H792 | zenon_intro zenon_H793 ]. % 47.42/47.60 cut (((op (op (e2) (e2)) (e5)) = (op (op (e2) (e2)) (e5))) = ((op (e3) (e5)) = (op (op (e2) (e2)) (e5)))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H791. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H792. % 47.42/47.60 cut (((op (op (e2) (e2)) (e5)) = (op (op (e2) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H793]. % 47.42/47.60 cut (((op (op (e2) (e2)) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H794]. % 47.42/47.60 congruence. % 47.42/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.42/47.60 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.42/47.60 congruence. % 47.42/47.60 exact (zenon_H58 zenon_H51). % 47.42/47.60 apply zenon_H25. apply refl_equal. % 47.42/47.60 apply zenon_H793. apply refl_equal. % 47.42/47.60 apply zenon_H793. apply refl_equal. % 47.42/47.60 apply (zenon_L72_); trivial. % 47.42/47.60 apply (zenon_notand_s _ _ zenon_H78f); [ zenon_intro zenon_H796 | zenon_intro zenon_H795 ]. % 47.42/47.60 cut (((op (e0) (e0)) = (e0)) = ((op (op (e2) (e3)) (e0)) = (op (e2) (op (e3) (e0))))). % 47.42/47.60 intro zenon_D_pnotp. % 47.42/47.60 apply zenon_H796. % 47.42/47.60 rewrite <- zenon_D_pnotp. % 47.42/47.60 exact zenon_H10. % 47.42/47.60 cut (((e0) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H797]. % 47.42/47.60 cut (((op (e0) (e0)) = (op (op (e2) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H798]. % 47.42/47.60 congruence. % 47.42/47.60 elim (classic ((op (op (e2) (e3)) (e0)) = (op (op (e2) (e3)) (e0)))); [ zenon_intro zenon_H799 | zenon_intro zenon_H79a ]. % 47.44/47.60 cut (((op (op (e2) (e3)) (e0)) = (op (op (e2) (e3)) (e0))) = ((op (e0) (e0)) = (op (op (e2) (e3)) (e0)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H798. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H799. % 47.44/47.60 cut (((op (op (e2) (e3)) (e0)) = (op (op (e2) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H79a]. % 47.44/47.60 cut (((op (op (e2) (e3)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H79b]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.60 cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H60 zenon_H59). % 47.44/47.60 apply zenon_H5. apply refl_equal. % 47.44/47.60 apply zenon_H79a. apply refl_equal. % 47.44/47.60 apply zenon_H79a. apply refl_equal. % 47.44/47.60 elim (classic ((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [ zenon_intro zenon_H79c | zenon_intro zenon_H79d ]. % 47.44/47.60 cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0)))) = ((e0) = (op (e2) (op (e3) (e0))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H797. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H79c. % 47.44/47.60 cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H79d]. % 47.44/47.60 cut (((op (e2) (op (e3) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H79e]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e2) (e3)) = (e0)) = ((op (e2) (op (e3) (e0))) = (e0))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H79e. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H59. % 47.44/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.60 cut (((op (e2) (e3)) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H79f]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [ zenon_intro zenon_H79c | zenon_intro zenon_H79d ]. % 47.44/47.60 cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0)))) = ((op (e2) (e3)) = (op (e2) (op (e3) (e0))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H79f. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H79c. % 47.44/47.60 cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H79d]. % 47.44/47.60 cut (((op (e2) (op (e3) (e0))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7a0]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 congruence. % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 exact (zenon_H78 zenon_H71). % 47.44/47.60 apply zenon_H79d. apply refl_equal. % 47.44/47.60 apply zenon_H79d. apply refl_equal. % 47.44/47.60 apply zenon_H5. apply refl_equal. % 47.44/47.60 apply zenon_H79d. apply refl_equal. % 47.44/47.60 apply zenon_H79d. apply refl_equal. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H795); [ zenon_intro zenon_H7a2 | zenon_intro zenon_H7a1 ]. % 47.44/47.60 cut (((op (e0) (e1)) = (e1)) = ((op (op (e2) (e3)) (e1)) = (op (e2) (op (e3) (e1))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7a2. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7. % 47.44/47.60 cut (((e1) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7a3]. % 47.44/47.60 cut (((op (e0) (e1)) = (op (op (e2) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7a4]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e3)) (e1)) = (op (op (e2) (e3)) (e1)))); [ zenon_intro zenon_H7a5 | zenon_intro zenon_H7a6 ]. % 47.44/47.60 cut (((op (op (e2) (e3)) (e1)) = (op (op (e2) (e3)) (e1))) = ((op (e0) (e1)) = (op (op (e2) (e3)) (e1)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7a4. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7a5. % 47.44/47.60 cut (((op (op (e2) (e3)) (e1)) = (op (op (e2) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7a6]. % 47.44/47.60 cut (((op (op (e2) (e3)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7a7]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.60 cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H60 zenon_H59). % 47.44/47.60 apply zenon_H6. apply refl_equal. % 47.44/47.60 apply zenon_H7a6. apply refl_equal. % 47.44/47.60 apply zenon_H7a6. apply refl_equal. % 47.44/47.60 elim (classic ((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [ zenon_intro zenon_H7a8 | zenon_intro zenon_H7a9 ]. % 47.44/47.60 cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1)))) = ((e1) = (op (e2) (op (e3) (e1))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7a3. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7a8. % 47.44/47.60 cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7a9]. % 47.44/47.60 cut (((op (e2) (op (e3) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7aa]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e2) (e5)) = (e1)) = ((op (e2) (op (e3) (e1))) = (e1))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7aa. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H69. % 47.44/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.60 cut (((op (e2) (e5)) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7ab]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [ zenon_intro zenon_H7a8 | zenon_intro zenon_H7a9 ]. % 47.44/47.60 cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1)))) = ((op (e2) (e5)) = (op (e2) (op (e3) (e1))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7ab. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7a8. % 47.44/47.60 cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7a9]. % 47.44/47.60 cut (((op (e2) (op (e3) (e1))) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7ac]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 congruence. % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 exact (zenon_H80 zenon_H79). % 47.44/47.60 apply zenon_H7a9. apply refl_equal. % 47.44/47.60 apply zenon_H7a9. apply refl_equal. % 47.44/47.60 apply zenon_H6. apply refl_equal. % 47.44/47.60 apply zenon_H7a9. apply refl_equal. % 47.44/47.60 apply zenon_H7a9. apply refl_equal. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H7a1); [ zenon_intro zenon_H7ae | zenon_intro zenon_H7ad ]. % 47.44/47.60 cut (((op (e0) (e2)) = (e2)) = ((op (op (e2) (e3)) (e2)) = (op (e2) (op (e3) (e2))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7ae. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H2f. % 47.44/47.60 cut (((e2) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H7af]. % 47.44/47.60 cut (((op (e0) (e2)) = (op (op (e2) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7b0]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e3)) (e2)) = (op (op (e2) (e3)) (e2)))); [ zenon_intro zenon_H7b1 | zenon_intro zenon_H7b2 ]. % 47.44/47.60 cut (((op (op (e2) (e3)) (e2)) = (op (op (e2) (e3)) (e2))) = ((op (e0) (e2)) = (op (op (e2) (e3)) (e2)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7b0. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7b1. % 47.44/47.60 cut (((op (op (e2) (e3)) (e2)) = (op (op (e2) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7b2]. % 47.44/47.60 cut (((op (op (e2) (e3)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7b3]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H60 zenon_H59). % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 apply zenon_H7b2. apply refl_equal. % 47.44/47.60 apply zenon_H7b2. apply refl_equal. % 47.44/47.60 elim (classic ((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [ zenon_intro zenon_H7b4 | zenon_intro zenon_H7b5 ]. % 47.44/47.60 cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2)))) = ((e2) = (op (e2) (op (e3) (e2))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7af. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7b4. % 47.44/47.60 cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H7b5]. % 47.44/47.60 cut (((op (e2) (op (e3) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H7b6]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e3) (e2))) = (e2))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7b6. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H41. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 cut (((op (e2) (e0)) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H7b7]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [ zenon_intro zenon_H7b4 | zenon_intro zenon_H7b5 ]. % 47.44/47.60 cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2)))) = ((op (e2) (e0)) = (op (e2) (op (e3) (e2))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7b7. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7b4. % 47.44/47.60 cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H7b5]. % 47.44/47.60 cut (((op (e2) (op (e3) (e2))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7b8]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 congruence. % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 exact (zenon_H88 zenon_H81). % 47.44/47.60 apply zenon_H7b5. apply refl_equal. % 47.44/47.60 apply zenon_H7b5. apply refl_equal. % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 apply zenon_H7b5. apply refl_equal. % 47.44/47.60 apply zenon_H7b5. apply refl_equal. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H7ad); [ zenon_intro zenon_H7ba | zenon_intro zenon_H7b9 ]. % 47.44/47.60 cut (((op (e0) (e3)) = (e3)) = ((op (op (e2) (e3)) (e3)) = (op (e2) (op (e3) (e3))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7ba. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H38. % 47.44/47.60 cut (((e3) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H7bb]. % 47.44/47.60 cut (((op (e0) (e3)) = (op (op (e2) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7bc]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e3)) (e3)) = (op (op (e2) (e3)) (e3)))); [ zenon_intro zenon_H7bd | zenon_intro zenon_H7be ]. % 47.44/47.60 cut (((op (op (e2) (e3)) (e3)) = (op (op (e2) (e3)) (e3))) = ((op (e0) (e3)) = (op (op (e2) (e3)) (e3)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7bc. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7bd. % 47.44/47.60 cut (((op (op (e2) (e3)) (e3)) = (op (op (e2) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7be]. % 47.44/47.60 cut (((op (op (e2) (e3)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7bf]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H60 zenon_H59). % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 apply zenon_H7be. apply refl_equal. % 47.44/47.60 apply zenon_H7be. apply refl_equal. % 47.44/47.60 elim (classic ((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [ zenon_intro zenon_H7c0 | zenon_intro zenon_H7c1 ]. % 47.44/47.60 cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3)))) = ((e3) = (op (e2) (op (e3) (e3))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7bb. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7c0. % 47.44/47.60 cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H7c1]. % 47.44/47.60 cut (((op (e2) (op (e3) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H7c2]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e2) (e2)) = (e3)) = ((op (e2) (op (e3) (e3))) = (e3))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7c2. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H51. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 cut (((op (e2) (e2)) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H7c3]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [ zenon_intro zenon_H7c0 | zenon_intro zenon_H7c1 ]. % 47.44/47.60 cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3)))) = ((op (e2) (e2)) = (op (e2) (op (e3) (e3))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7c3. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7c0. % 47.44/47.60 cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H7c1]. % 47.44/47.60 cut (((op (e2) (op (e3) (e3))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7c4]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 congruence. % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 exact (zenon_H90 zenon_H89). % 47.44/47.60 apply zenon_H7c1. apply refl_equal. % 47.44/47.60 apply zenon_H7c1. apply refl_equal. % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 apply zenon_H7c1. apply refl_equal. % 47.44/47.60 apply zenon_H7c1. apply refl_equal. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H7b9); [ zenon_intro zenon_H7c6 | zenon_intro zenon_H7c5 ]. % 47.44/47.60 cut (((op (e0) (e4)) = (e4)) = ((op (op (e2) (e3)) (e4)) = (op (e2) (op (e3) (e4))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7c6. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H1b. % 47.44/47.60 cut (((e4) = (op (e2) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H7c7]. % 47.44/47.60 cut (((op (e0) (e4)) = (op (op (e2) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7c8]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e3)) (e4)) = (op (op (e2) (e3)) (e4)))); [ zenon_intro zenon_H7c9 | zenon_intro zenon_H7ca ]. % 47.44/47.60 cut (((op (op (e2) (e3)) (e4)) = (op (op (e2) (e3)) (e4))) = ((op (e0) (e4)) = (op (op (e2) (e3)) (e4)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7c8. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7c9. % 47.44/47.60 cut (((op (op (e2) (e3)) (e4)) = (op (op (e2) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7ca]. % 47.44/47.60 cut (((op (op (e2) (e3)) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7cb]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.60 cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H60 zenon_H59). % 47.44/47.60 apply zenon_H1a. apply refl_equal. % 47.44/47.60 apply zenon_H7ca. apply refl_equal. % 47.44/47.60 apply zenon_H7ca. apply refl_equal. % 47.44/47.60 elim (classic ((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4))))); [ zenon_intro zenon_H7cc | zenon_intro zenon_H7cd ]. % 47.44/47.60 cut (((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4)))) = ((e4) = (op (e2) (op (e3) (e4))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7c7. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7cc. % 47.44/47.60 cut (((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H7cd]. % 47.44/47.60 cut (((op (e2) (op (e3) (e4))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H7ce]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e2) (e1)) = (e4)) = ((op (e2) (op (e3) (e4))) = (e4))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7ce. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H49. % 47.44/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.60 cut (((op (e2) (e1)) = (op (e2) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H7cf]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4))))); [ zenon_intro zenon_H7cc | zenon_intro zenon_H7cd ]. % 47.44/47.60 cut (((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4)))) = ((op (e2) (e1)) = (op (e2) (op (e3) (e4))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7cf. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7cc. % 47.44/47.60 cut (((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H7cd]. % 47.44/47.60 cut (((op (e2) (op (e3) (e4))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7d0]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 congruence. % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 exact (zenon_H98 zenon_H91). % 47.44/47.60 apply zenon_H7cd. apply refl_equal. % 47.44/47.60 apply zenon_H7cd. apply refl_equal. % 47.44/47.60 apply zenon_H1a. apply refl_equal. % 47.44/47.60 apply zenon_H7cd. apply refl_equal. % 47.44/47.60 apply zenon_H7cd. apply refl_equal. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H7c5); [ zenon_intro zenon_H7d2 | zenon_intro zenon_H7d1 ]. % 47.44/47.60 cut (((op (e0) (e5)) = (e5)) = ((op (op (e2) (e3)) (e5)) = (op (e2) (op (e3) (e5))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7d2. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H26. % 47.44/47.60 cut (((e5) = (op (e2) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H7d3]. % 47.44/47.60 cut (((op (e0) (e5)) = (op (op (e2) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7d4]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e3)) (e5)) = (op (op (e2) (e3)) (e5)))); [ zenon_intro zenon_H7d5 | zenon_intro zenon_H7d6 ]. % 47.44/47.60 cut (((op (op (e2) (e3)) (e5)) = (op (op (e2) (e3)) (e5))) = ((op (e0) (e5)) = (op (op (e2) (e3)) (e5)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7d4. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7d5. % 47.44/47.60 cut (((op (op (e2) (e3)) (e5)) = (op (op (e2) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7d6]. % 47.44/47.60 cut (((op (op (e2) (e3)) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7d7]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.60 cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H60 zenon_H59). % 47.44/47.60 apply zenon_H25. apply refl_equal. % 47.44/47.60 apply zenon_H7d6. apply refl_equal. % 47.44/47.60 apply zenon_H7d6. apply refl_equal. % 47.44/47.60 elim (classic ((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5))))); [ zenon_intro zenon_H7d8 | zenon_intro zenon_H7d9 ]. % 47.44/47.60 cut (((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5)))) = ((e5) = (op (e2) (op (e3) (e5))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7d3. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7d8. % 47.44/47.60 cut (((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H7d9]. % 47.44/47.60 cut (((op (e2) (op (e3) (e5))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H7da]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e2) (e4)) = (e5)) = ((op (e2) (op (e3) (e5))) = (e5))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7da. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H61. % 47.44/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.60 cut (((op (e2) (e4)) = (op (e2) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H7db]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5))))); [ zenon_intro zenon_H7d8 | zenon_intro zenon_H7d9 ]. % 47.44/47.60 cut (((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5)))) = ((op (e2) (e4)) = (op (e2) (op (e3) (e5))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7db. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7d8. % 47.44/47.60 cut (((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H7d9]. % 47.44/47.60 cut (((op (e2) (op (e3) (e5))) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7dc]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 congruence. % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 exact (zenon_Ha0 zenon_H99). % 47.44/47.60 apply zenon_H7d9. apply refl_equal. % 47.44/47.60 apply zenon_H7d9. apply refl_equal. % 47.44/47.60 apply zenon_H25. apply refl_equal. % 47.44/47.60 apply zenon_H7d9. apply refl_equal. % 47.44/47.60 apply zenon_H7d9. apply refl_equal. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H7d1); [ zenon_intro zenon_H7de | zenon_intro zenon_H7dd ]. % 47.44/47.60 cut (((op (e5) (e0)) = (e5)) = ((op (op (e2) (e4)) (e0)) = (op (e2) (op (e4) (e0))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7de. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_Hd1. % 47.44/47.60 cut (((e5) = (op (e2) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1d9]. % 47.44/47.60 cut (((op (e5) (e0)) = (op (op (e2) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7df]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e4)) (e0)) = (op (op (e2) (e4)) (e0)))); [ zenon_intro zenon_H7e0 | zenon_intro zenon_H7e1 ]. % 47.44/47.60 cut (((op (op (e2) (e4)) (e0)) = (op (op (e2) (e4)) (e0))) = ((op (e5) (e0)) = (op (op (e2) (e4)) (e0)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7df. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7e0. % 47.44/47.60 cut (((op (op (e2) (e4)) (e0)) = (op (op (e2) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7e1]. % 47.44/47.60 cut (((op (op (e2) (e4)) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7e2]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.60 cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H68 zenon_H61). % 47.44/47.60 apply zenon_H5. apply refl_equal. % 47.44/47.60 apply zenon_H7e1. apply refl_equal. % 47.44/47.60 apply zenon_H7e1. apply refl_equal. % 47.44/47.60 apply (zenon_L73_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H7dd); [ zenon_intro zenon_H7e4 | zenon_intro zenon_H7e3 ]. % 47.44/47.60 cut (((op (e5) (e1)) = (e3)) = ((op (op (e2) (e4)) (e1)) = (op (e2) (op (e4) (e1))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7e4. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_Hd9. % 47.44/47.60 cut (((e3) = (op (e2) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 47.44/47.60 cut (((op (e5) (e1)) = (op (op (e2) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7e5]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e4)) (e1)) = (op (op (e2) (e4)) (e1)))); [ zenon_intro zenon_H7e6 | zenon_intro zenon_H7e7 ]. % 47.44/47.60 cut (((op (op (e2) (e4)) (e1)) = (op (op (e2) (e4)) (e1))) = ((op (e5) (e1)) = (op (op (e2) (e4)) (e1)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7e5. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7e6. % 47.44/47.60 cut (((op (op (e2) (e4)) (e1)) = (op (op (e2) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7e7]. % 47.44/47.60 cut (((op (op (e2) (e4)) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7e8]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.60 cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H68 zenon_H61). % 47.44/47.60 apply zenon_H6. apply refl_equal. % 47.44/47.60 apply zenon_H7e7. apply refl_equal. % 47.44/47.60 apply zenon_H7e7. apply refl_equal. % 47.44/47.60 apply (zenon_L74_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H7e3); [ zenon_intro zenon_H7ea | zenon_intro zenon_H7e9 ]. % 47.44/47.60 cut (((op (e5) (e2)) = (e1)) = ((op (op (e2) (e4)) (e2)) = (op (e2) (op (e4) (e2))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7ea. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_He1. % 47.44/47.60 cut (((e1) = (op (e2) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1e5]. % 47.44/47.60 cut (((op (e5) (e2)) = (op (op (e2) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7eb]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e4)) (e2)) = (op (op (e2) (e4)) (e2)))); [ zenon_intro zenon_H7ec | zenon_intro zenon_H7ed ]. % 47.44/47.60 cut (((op (op (e2) (e4)) (e2)) = (op (op (e2) (e4)) (e2))) = ((op (e5) (e2)) = (op (op (e2) (e4)) (e2)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7eb. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7ec. % 47.44/47.60 cut (((op (op (e2) (e4)) (e2)) = (op (op (e2) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7ed]. % 47.44/47.60 cut (((op (op (e2) (e4)) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7ee]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H68 zenon_H61). % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 apply zenon_H7ed. apply refl_equal. % 47.44/47.60 apply zenon_H7ed. apply refl_equal. % 47.44/47.60 apply (zenon_L75_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H7e9); [ zenon_intro zenon_H7f0 | zenon_intro zenon_H7ef ]. % 47.44/47.60 cut (((op (e5) (e3)) = (e4)) = ((op (op (e2) (e4)) (e3)) = (op (e2) (op (e4) (e3))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7f0. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_He9. % 47.44/47.60 cut (((e4) = (op (e2) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1eb]. % 47.44/47.60 cut (((op (e5) (e3)) = (op (op (e2) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7f1]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e4)) (e3)) = (op (op (e2) (e4)) (e3)))); [ zenon_intro zenon_H7f2 | zenon_intro zenon_H7f3 ]. % 47.44/47.60 cut (((op (op (e2) (e4)) (e3)) = (op (op (e2) (e4)) (e3))) = ((op (e5) (e3)) = (op (op (e2) (e4)) (e3)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7f1. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7f2. % 47.44/47.60 cut (((op (op (e2) (e4)) (e3)) = (op (op (e2) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7f3]. % 47.44/47.60 cut (((op (op (e2) (e4)) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7f4]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H68 zenon_H61). % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 apply zenon_H7f3. apply refl_equal. % 47.44/47.60 apply zenon_H7f3. apply refl_equal. % 47.44/47.60 apply (zenon_L76_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H7ef); [ zenon_intro zenon_H7f6 | zenon_intro zenon_H7f5 ]. % 47.44/47.60 cut (((op (e5) (e4)) = (e0)) = ((op (op (e2) (e4)) (e4)) = (op (e2) (op (e4) (e4))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7f6. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_Hf1. % 47.44/47.60 cut (((e0) = (op (e2) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1f1]. % 47.44/47.60 cut (((op (e5) (e4)) = (op (op (e2) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7f7]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e4)) (e4)) = (op (op (e2) (e4)) (e4)))); [ zenon_intro zenon_H7f8 | zenon_intro zenon_H7f9 ]. % 47.44/47.60 cut (((op (op (e2) (e4)) (e4)) = (op (op (e2) (e4)) (e4))) = ((op (e5) (e4)) = (op (op (e2) (e4)) (e4)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7f7. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7f8. % 47.44/47.60 cut (((op (op (e2) (e4)) (e4)) = (op (op (e2) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7f9]. % 47.44/47.60 cut (((op (op (e2) (e4)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7fa]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.60 cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H68 zenon_H61). % 47.44/47.60 apply zenon_H1a. apply refl_equal. % 47.44/47.60 apply zenon_H7f9. apply refl_equal. % 47.44/47.60 apply zenon_H7f9. apply refl_equal. % 47.44/47.60 apply (zenon_L77_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H7f5); [ zenon_intro zenon_H7fc | zenon_intro zenon_H7fb ]. % 47.44/47.60 cut (((op (e5) (e5)) = (e2)) = ((op (op (e2) (e4)) (e5)) = (op (e2) (op (e4) (e5))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7fc. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_Hf9. % 47.44/47.60 cut (((e2) = (op (e2) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1f7]. % 47.44/47.60 cut (((op (e5) (e5)) = (op (op (e2) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7fd]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e4)) (e5)) = (op (op (e2) (e4)) (e5)))); [ zenon_intro zenon_H7fe | zenon_intro zenon_H7ff ]. % 47.44/47.60 cut (((op (op (e2) (e4)) (e5)) = (op (op (e2) (e4)) (e5))) = ((op (e5) (e5)) = (op (op (e2) (e4)) (e5)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H7fd. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7fe. % 47.44/47.60 cut (((op (op (e2) (e4)) (e5)) = (op (op (e2) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7ff]. % 47.44/47.60 cut (((op (op (e2) (e4)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H800]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.60 cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H68 zenon_H61). % 47.44/47.60 apply zenon_H25. apply refl_equal. % 47.44/47.60 apply zenon_H7ff. apply refl_equal. % 47.44/47.60 apply zenon_H7ff. apply refl_equal. % 47.44/47.60 apply (zenon_L78_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H7fb); [ zenon_intro zenon_H802 | zenon_intro zenon_H801 ]. % 47.44/47.60 cut (((op (e1) (e0)) = (e1)) = ((op (op (e2) (e5)) (e0)) = (op (e2) (op (e5) (e0))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H802. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8. % 47.44/47.60 cut (((e1) = (op (e2) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1fd]. % 47.44/47.60 cut (((op (e1) (e0)) = (op (op (e2) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H803]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e5)) (e0)) = (op (op (e2) (e5)) (e0)))); [ zenon_intro zenon_H804 | zenon_intro zenon_H805 ]. % 47.44/47.60 cut (((op (op (e2) (e5)) (e0)) = (op (op (e2) (e5)) (e0))) = ((op (e1) (e0)) = (op (op (e2) (e5)) (e0)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H803. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H804. % 47.44/47.60 cut (((op (op (e2) (e5)) (e0)) = (op (op (e2) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H805]. % 47.44/47.60 cut (((op (op (e2) (e5)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H806]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.60 cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H70 zenon_H69). % 47.44/47.60 apply zenon_H5. apply refl_equal. % 47.44/47.60 apply zenon_H805. apply refl_equal. % 47.44/47.60 apply zenon_H805. apply refl_equal. % 47.44/47.60 apply (zenon_L79_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H801); [ zenon_intro zenon_H808 | zenon_intro zenon_H807 ]. % 47.44/47.60 cut (((op (e1) (e1)) = (e0)) = ((op (op (e2) (e5)) (e1)) = (op (e2) (op (e5) (e1))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H808. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H11. % 47.44/47.60 cut (((e0) = (op (e2) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H203]. % 47.44/47.60 cut (((op (e1) (e1)) = (op (op (e2) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H809]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e5)) (e1)) = (op (op (e2) (e5)) (e1)))); [ zenon_intro zenon_H80a | zenon_intro zenon_H80b ]. % 47.44/47.60 cut (((op (op (e2) (e5)) (e1)) = (op (op (e2) (e5)) (e1))) = ((op (e1) (e1)) = (op (op (e2) (e5)) (e1)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H809. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H80a. % 47.44/47.60 cut (((op (op (e2) (e5)) (e1)) = (op (op (e2) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H80b]. % 47.44/47.60 cut (((op (op (e2) (e5)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H80c]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.60 cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H70 zenon_H69). % 47.44/47.60 apply zenon_H6. apply refl_equal. % 47.44/47.60 apply zenon_H80b. apply refl_equal. % 47.44/47.60 apply zenon_H80b. apply refl_equal. % 47.44/47.60 apply (zenon_L80_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H807); [ zenon_intro zenon_H80e | zenon_intro zenon_H80d ]. % 47.44/47.60 cut (((op (e1) (e2)) = (e4)) = ((op (op (e2) (e5)) (e2)) = (op (e2) (op (e5) (e2))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H80e. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H1c. % 47.44/47.60 cut (((e4) = (op (e2) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 47.44/47.60 cut (((op (e1) (e2)) = (op (op (e2) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H80f]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e5)) (e2)) = (op (op (e2) (e5)) (e2)))); [ zenon_intro zenon_H810 | zenon_intro zenon_H811 ]. % 47.44/47.60 cut (((op (op (e2) (e5)) (e2)) = (op (op (e2) (e5)) (e2))) = ((op (e1) (e2)) = (op (op (e2) (e5)) (e2)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H80f. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H810. % 47.44/47.60 cut (((op (op (e2) (e5)) (e2)) = (op (op (e2) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H811]. % 47.44/47.60 cut (((op (op (e2) (e5)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H812]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H70 zenon_H69). % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 apply zenon_H811. apply refl_equal. % 47.44/47.60 apply zenon_H811. apply refl_equal. % 47.44/47.60 apply (zenon_L81_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H80d); [ zenon_intro zenon_H814 | zenon_intro zenon_H813 ]. % 47.44/47.60 cut (((op (e1) (e3)) = (e5)) = ((op (op (e2) (e5)) (e3)) = (op (e2) (op (e5) (e3))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H814. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H27. % 47.44/47.60 cut (((e5) = (op (e2) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H20f]. % 47.44/47.60 cut (((op (e1) (e3)) = (op (op (e2) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H815]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e5)) (e3)) = (op (op (e2) (e5)) (e3)))); [ zenon_intro zenon_H816 | zenon_intro zenon_H817 ]. % 47.44/47.60 cut (((op (op (e2) (e5)) (e3)) = (op (op (e2) (e5)) (e3))) = ((op (e1) (e3)) = (op (op (e2) (e5)) (e3)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H815. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H816. % 47.44/47.60 cut (((op (op (e2) (e5)) (e3)) = (op (op (e2) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H817]. % 47.44/47.60 cut (((op (op (e2) (e5)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H818]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H70 zenon_H69). % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 apply zenon_H817. apply refl_equal. % 47.44/47.60 apply zenon_H817. apply refl_equal. % 47.44/47.60 apply (zenon_L82_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H813); [ zenon_intro zenon_H81a | zenon_intro zenon_H819 ]. % 47.44/47.60 cut (((op (e1) (e4)) = (e2)) = ((op (op (e2) (e5)) (e4)) = (op (e2) (op (e5) (e4))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H81a. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H30. % 47.44/47.60 cut (((e2) = (op (e2) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H215]. % 47.44/47.60 cut (((op (e1) (e4)) = (op (op (e2) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H81b]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e5)) (e4)) = (op (op (e2) (e5)) (e4)))); [ zenon_intro zenon_H81c | zenon_intro zenon_H81d ]. % 47.44/47.60 cut (((op (op (e2) (e5)) (e4)) = (op (op (e2) (e5)) (e4))) = ((op (e1) (e4)) = (op (op (e2) (e5)) (e4)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H81b. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H81c. % 47.44/47.60 cut (((op (op (e2) (e5)) (e4)) = (op (op (e2) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H81d]. % 47.44/47.60 cut (((op (op (e2) (e5)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H81e]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.60 cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H70 zenon_H69). % 47.44/47.60 apply zenon_H1a. apply refl_equal. % 47.44/47.60 apply zenon_H81d. apply refl_equal. % 47.44/47.60 apply zenon_H81d. apply refl_equal. % 47.44/47.60 apply (zenon_L83_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H819); [ zenon_intro zenon_H820 | zenon_intro zenon_H81f ]. % 47.44/47.60 cut (((op (e1) (e5)) = (e3)) = ((op (op (e2) (e5)) (e5)) = (op (e2) (op (e5) (e5))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H820. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H39. % 47.44/47.60 cut (((e3) = (op (e2) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H21b]. % 47.44/47.60 cut (((op (e1) (e5)) = (op (op (e2) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H821]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e2) (e5)) (e5)) = (op (op (e2) (e5)) (e5)))); [ zenon_intro zenon_H822 | zenon_intro zenon_H823 ]. % 47.44/47.60 cut (((op (op (e2) (e5)) (e5)) = (op (op (e2) (e5)) (e5))) = ((op (e1) (e5)) = (op (op (e2) (e5)) (e5)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H821. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H822. % 47.44/47.60 cut (((op (op (e2) (e5)) (e5)) = (op (op (e2) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H823]. % 47.44/47.60 cut (((op (op (e2) (e5)) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H824]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.60 cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H70 zenon_H69). % 47.44/47.60 apply zenon_H25. apply refl_equal. % 47.44/47.60 apply zenon_H823. apply refl_equal. % 47.44/47.60 apply zenon_H823. apply refl_equal. % 47.44/47.60 apply (zenon_L84_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H81f); [ zenon_intro zenon_H826 | zenon_intro zenon_H825 ]. % 47.44/47.60 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H59e]. % 47.44/47.60 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H78 zenon_H71). % 47.44/47.60 apply zenon_H59e. apply sym_equal. exact zenon_H10. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H825); [ zenon_intro zenon_H828 | zenon_intro zenon_H827 ]. % 47.44/47.60 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H416]. % 47.44/47.60 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H78 zenon_H71). % 47.44/47.60 apply zenon_H416. apply sym_equal. exact zenon_H7. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H827); [ zenon_intro zenon_H82a | zenon_intro zenon_H829 ]. % 47.44/47.60 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H42c]. % 47.44/47.60 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H78 zenon_H71). % 47.44/47.60 apply zenon_H42c. apply sym_equal. exact zenon_H2f. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H829); [ zenon_intro zenon_H82c | zenon_intro zenon_H82b ]. % 47.44/47.60 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H442]. % 47.44/47.60 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H78 zenon_H71). % 47.44/47.60 apply zenon_H442. apply sym_equal. exact zenon_H38. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H82b); [ zenon_intro zenon_H82e | zenon_intro zenon_H82d ]. % 47.44/47.60 cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H458]. % 47.44/47.60 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H78 zenon_H71). % 47.44/47.60 apply zenon_H458. apply sym_equal. exact zenon_H1b. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H82d); [ zenon_intro zenon_H830 | zenon_intro zenon_H82f ]. % 47.44/47.60 cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46e]. % 47.44/47.60 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H78 zenon_H71). % 47.44/47.60 apply zenon_H46e. apply sym_equal. exact zenon_H26. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H82f); [ zenon_intro zenon_H832 | zenon_intro zenon_H831 ]. % 47.44/47.60 cut (((op (e5) (e0)) = (e5)) = ((op (op (e3) (e1)) (e0)) = (op (e3) (op (e1) (e0))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H832. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_Hd1. % 47.44/47.60 cut (((e5) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H221]. % 47.44/47.60 cut (((op (e5) (e0)) = (op (op (e3) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H833]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e1)) (e0)) = (op (op (e3) (e1)) (e0)))); [ zenon_intro zenon_H834 | zenon_intro zenon_H835 ]. % 47.44/47.60 cut (((op (op (e3) (e1)) (e0)) = (op (op (e3) (e1)) (e0))) = ((op (e5) (e0)) = (op (op (e3) (e1)) (e0)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H833. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H834. % 47.44/47.60 cut (((op (op (e3) (e1)) (e0)) = (op (op (e3) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H835]. % 47.44/47.60 cut (((op (op (e3) (e1)) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H836]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.60 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H80 zenon_H79). % 47.44/47.60 apply zenon_H5. apply refl_equal. % 47.44/47.60 apply zenon_H835. apply refl_equal. % 47.44/47.60 apply zenon_H835. apply refl_equal. % 47.44/47.60 apply (zenon_L85_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H831); [ zenon_intro zenon_H838 | zenon_intro zenon_H837 ]. % 47.44/47.60 cut (((op (e5) (e1)) = (e3)) = ((op (op (e3) (e1)) (e1)) = (op (e3) (op (e1) (e1))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H838. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_Hd9. % 47.44/47.60 cut (((e3) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H227]. % 47.44/47.60 cut (((op (e5) (e1)) = (op (op (e3) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H839]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e1)) (e1)) = (op (op (e3) (e1)) (e1)))); [ zenon_intro zenon_H83a | zenon_intro zenon_H83b ]. % 47.44/47.60 cut (((op (op (e3) (e1)) (e1)) = (op (op (e3) (e1)) (e1))) = ((op (e5) (e1)) = (op (op (e3) (e1)) (e1)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H839. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H83a. % 47.44/47.60 cut (((op (op (e3) (e1)) (e1)) = (op (op (e3) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H83b]. % 47.44/47.60 cut (((op (op (e3) (e1)) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H83c]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.60 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H80 zenon_H79). % 47.44/47.60 apply zenon_H6. apply refl_equal. % 47.44/47.60 apply zenon_H83b. apply refl_equal. % 47.44/47.60 apply zenon_H83b. apply refl_equal. % 47.44/47.60 apply (zenon_L86_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H837); [ zenon_intro zenon_H83e | zenon_intro zenon_H83d ]. % 47.44/47.60 cut (((op (e5) (e2)) = (e1)) = ((op (op (e3) (e1)) (e2)) = (op (e3) (op (e1) (e2))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H83e. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_He1. % 47.44/47.60 cut (((e1) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H22d]. % 47.44/47.60 cut (((op (e5) (e2)) = (op (op (e3) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H83f]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e1)) (e2)) = (op (op (e3) (e1)) (e2)))); [ zenon_intro zenon_H840 | zenon_intro zenon_H841 ]. % 47.44/47.60 cut (((op (op (e3) (e1)) (e2)) = (op (op (e3) (e1)) (e2))) = ((op (e5) (e2)) = (op (op (e3) (e1)) (e2)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H83f. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H840. % 47.44/47.60 cut (((op (op (e3) (e1)) (e2)) = (op (op (e3) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H841]. % 47.44/47.60 cut (((op (op (e3) (e1)) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H842]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H80 zenon_H79). % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 apply zenon_H841. apply refl_equal. % 47.44/47.60 apply zenon_H841. apply refl_equal. % 47.44/47.60 apply (zenon_L87_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H83d); [ zenon_intro zenon_H844 | zenon_intro zenon_H843 ]. % 47.44/47.60 cut (((op (e5) (e3)) = (e4)) = ((op (op (e3) (e1)) (e3)) = (op (e3) (op (e1) (e3))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H844. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_He9. % 47.44/47.60 cut (((e4) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H233]. % 47.44/47.60 cut (((op (e5) (e3)) = (op (op (e3) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H845]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e1)) (e3)) = (op (op (e3) (e1)) (e3)))); [ zenon_intro zenon_H846 | zenon_intro zenon_H847 ]. % 47.44/47.60 cut (((op (op (e3) (e1)) (e3)) = (op (op (e3) (e1)) (e3))) = ((op (e5) (e3)) = (op (op (e3) (e1)) (e3)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H845. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H846. % 47.44/47.60 cut (((op (op (e3) (e1)) (e3)) = (op (op (e3) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H847]. % 47.44/47.60 cut (((op (op (e3) (e1)) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H848]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H80 zenon_H79). % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 apply zenon_H847. apply refl_equal. % 47.44/47.60 apply zenon_H847. apply refl_equal. % 47.44/47.60 apply (zenon_L88_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H843); [ zenon_intro zenon_H84a | zenon_intro zenon_H849 ]. % 47.44/47.60 cut (((op (e5) (e4)) = (e0)) = ((op (op (e3) (e1)) (e4)) = (op (e3) (op (e1) (e4))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H84a. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_Hf1. % 47.44/47.60 cut (((e0) = (op (e3) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H239]. % 47.44/47.60 cut (((op (e5) (e4)) = (op (op (e3) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H84b]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e1)) (e4)) = (op (op (e3) (e1)) (e4)))); [ zenon_intro zenon_H84c | zenon_intro zenon_H84d ]. % 47.44/47.60 cut (((op (op (e3) (e1)) (e4)) = (op (op (e3) (e1)) (e4))) = ((op (e5) (e4)) = (op (op (e3) (e1)) (e4)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H84b. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H84c. % 47.44/47.60 cut (((op (op (e3) (e1)) (e4)) = (op (op (e3) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H84d]. % 47.44/47.60 cut (((op (op (e3) (e1)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H84e]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.60 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H80 zenon_H79). % 47.44/47.60 apply zenon_H1a. apply refl_equal. % 47.44/47.60 apply zenon_H84d. apply refl_equal. % 47.44/47.60 apply zenon_H84d. apply refl_equal. % 47.44/47.60 apply (zenon_L89_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H849); [ zenon_intro zenon_H850 | zenon_intro zenon_H84f ]. % 47.44/47.60 cut (((op (e5) (e5)) = (e2)) = ((op (op (e3) (e1)) (e5)) = (op (e3) (op (e1) (e5))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H850. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_Hf9. % 47.44/47.60 cut (((e2) = (op (e3) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H23f]. % 47.44/47.60 cut (((op (e5) (e5)) = (op (op (e3) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H851]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e1)) (e5)) = (op (op (e3) (e1)) (e5)))); [ zenon_intro zenon_H852 | zenon_intro zenon_H853 ]. % 47.44/47.60 cut (((op (op (e3) (e1)) (e5)) = (op (op (e3) (e1)) (e5))) = ((op (e5) (e5)) = (op (op (e3) (e1)) (e5)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H851. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H852. % 47.44/47.60 cut (((op (op (e3) (e1)) (e5)) = (op (op (e3) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H853]. % 47.44/47.60 cut (((op (op (e3) (e1)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H854]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.60 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H80 zenon_H79). % 47.44/47.60 apply zenon_H25. apply refl_equal. % 47.44/47.60 apply zenon_H853. apply refl_equal. % 47.44/47.60 apply zenon_H853. apply refl_equal. % 47.44/47.60 apply (zenon_L90_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H84f); [ zenon_intro zenon_H856 | zenon_intro zenon_H855 ]. % 47.44/47.60 cut (((op (e0) (e0)) = (e0)) = ((op (op (e3) (e2)) (e0)) = (op (e3) (op (e2) (e0))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H856. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H10. % 47.44/47.60 cut (((e0) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H857]. % 47.44/47.60 cut (((op (e0) (e0)) = (op (op (e3) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H858]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e2)) (e0)) = (op (op (e3) (e2)) (e0)))); [ zenon_intro zenon_H859 | zenon_intro zenon_H85a ]. % 47.44/47.60 cut (((op (op (e3) (e2)) (e0)) = (op (op (e3) (e2)) (e0))) = ((op (e0) (e0)) = (op (op (e3) (e2)) (e0)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H858. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H859. % 47.44/47.60 cut (((op (op (e3) (e2)) (e0)) = (op (op (e3) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H85a]. % 47.44/47.60 cut (((op (op (e3) (e2)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H85b]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.60 cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H88 zenon_H81). % 47.44/47.60 apply zenon_H5. apply refl_equal. % 47.44/47.60 apply zenon_H85a. apply refl_equal. % 47.44/47.60 apply zenon_H85a. apply refl_equal. % 47.44/47.60 elim (classic ((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [ zenon_intro zenon_H85c | zenon_intro zenon_H85d ]. % 47.44/47.60 cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0)))) = ((e0) = (op (e3) (op (e2) (e0))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H857. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H85c. % 47.44/47.60 cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H85d]. % 47.44/47.60 cut (((op (e3) (op (e2) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H85e]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e3) (e2)) = (e0)) = ((op (e3) (op (e2) (e0))) = (e0))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H85e. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H81. % 47.44/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.60 cut (((op (e3) (e2)) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H85f]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [ zenon_intro zenon_H85c | zenon_intro zenon_H85d ]. % 47.44/47.60 cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0)))) = ((op (e3) (e2)) = (op (e3) (op (e2) (e0))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H85f. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H85c. % 47.44/47.60 cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H85d]. % 47.44/47.60 cut (((op (e3) (op (e2) (e0))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H860]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 congruence. % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 exact (zenon_H48 zenon_H41). % 47.44/47.60 apply zenon_H85d. apply refl_equal. % 47.44/47.60 apply zenon_H85d. apply refl_equal. % 47.44/47.60 apply zenon_H5. apply refl_equal. % 47.44/47.60 apply zenon_H85d. apply refl_equal. % 47.44/47.60 apply zenon_H85d. apply refl_equal. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H855); [ zenon_intro zenon_H862 | zenon_intro zenon_H861 ]. % 47.44/47.60 cut (((op (e0) (e1)) = (e1)) = ((op (op (e3) (e2)) (e1)) = (op (e3) (op (e2) (e1))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H862. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H7. % 47.44/47.60 cut (((e1) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H863]. % 47.44/47.60 cut (((op (e0) (e1)) = (op (op (e3) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H864]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e2)) (e1)) = (op (op (e3) (e2)) (e1)))); [ zenon_intro zenon_H865 | zenon_intro zenon_H866 ]. % 47.44/47.60 cut (((op (op (e3) (e2)) (e1)) = (op (op (e3) (e2)) (e1))) = ((op (e0) (e1)) = (op (op (e3) (e2)) (e1)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H864. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H865. % 47.44/47.60 cut (((op (op (e3) (e2)) (e1)) = (op (op (e3) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H866]. % 47.44/47.60 cut (((op (op (e3) (e2)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H867]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.60 cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H88 zenon_H81). % 47.44/47.60 apply zenon_H6. apply refl_equal. % 47.44/47.60 apply zenon_H866. apply refl_equal. % 47.44/47.60 apply zenon_H866. apply refl_equal. % 47.44/47.60 elim (classic ((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [ zenon_intro zenon_H868 | zenon_intro zenon_H869 ]. % 47.44/47.60 cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1)))) = ((e1) = (op (e3) (op (e2) (e1))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H863. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H868. % 47.44/47.60 cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H869]. % 47.44/47.60 cut (((op (e3) (op (e2) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H86a]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e3) (e4)) = (e1)) = ((op (e3) (op (e2) (e1))) = (e1))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H86a. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H91. % 47.44/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.60 cut (((op (e3) (e4)) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H86b]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [ zenon_intro zenon_H868 | zenon_intro zenon_H869 ]. % 47.44/47.60 cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1)))) = ((op (e3) (e4)) = (op (e3) (op (e2) (e1))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H86b. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H868. % 47.44/47.60 cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H869]. % 47.44/47.60 cut (((op (e3) (op (e2) (e1))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H86c]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 congruence. % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 exact (zenon_H50 zenon_H49). % 47.44/47.60 apply zenon_H869. apply refl_equal. % 47.44/47.60 apply zenon_H869. apply refl_equal. % 47.44/47.60 apply zenon_H6. apply refl_equal. % 47.44/47.60 apply zenon_H869. apply refl_equal. % 47.44/47.60 apply zenon_H869. apply refl_equal. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H861); [ zenon_intro zenon_H86e | zenon_intro zenon_H86d ]. % 47.44/47.60 cut (((op (e0) (e2)) = (e2)) = ((op (op (e3) (e2)) (e2)) = (op (e3) (op (e2) (e2))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H86e. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H2f. % 47.44/47.60 cut (((e2) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H86f]. % 47.44/47.60 cut (((op (e0) (e2)) = (op (op (e3) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H870]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e2)) (e2)) = (op (op (e3) (e2)) (e2)))); [ zenon_intro zenon_H871 | zenon_intro zenon_H872 ]. % 47.44/47.60 cut (((op (op (e3) (e2)) (e2)) = (op (op (e3) (e2)) (e2))) = ((op (e0) (e2)) = (op (op (e3) (e2)) (e2)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H870. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H871. % 47.44/47.60 cut (((op (op (e3) (e2)) (e2)) = (op (op (e3) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H872]. % 47.44/47.60 cut (((op (op (e3) (e2)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H873]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H88 zenon_H81). % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 apply zenon_H872. apply refl_equal. % 47.44/47.60 apply zenon_H872. apply refl_equal. % 47.44/47.60 elim (classic ((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [ zenon_intro zenon_H874 | zenon_intro zenon_H875 ]. % 47.44/47.60 cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2)))) = ((e2) = (op (e3) (op (e2) (e2))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H86f. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H874. % 47.44/47.60 cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H875]. % 47.44/47.60 cut (((op (e3) (op (e2) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H876]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e3) (e3)) = (e2)) = ((op (e3) (op (e2) (e2))) = (e2))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H876. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H89. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 cut (((op (e3) (e3)) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H877]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [ zenon_intro zenon_H874 | zenon_intro zenon_H875 ]. % 47.44/47.60 cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2)))) = ((op (e3) (e3)) = (op (e3) (op (e2) (e2))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H877. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H874. % 47.44/47.60 cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H875]. % 47.44/47.60 cut (((op (e3) (op (e2) (e2))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H878]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 congruence. % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 exact (zenon_H58 zenon_H51). % 47.44/47.60 apply zenon_H875. apply refl_equal. % 47.44/47.60 apply zenon_H875. apply refl_equal. % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 apply zenon_H875. apply refl_equal. % 47.44/47.60 apply zenon_H875. apply refl_equal. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H86d); [ zenon_intro zenon_H87a | zenon_intro zenon_H879 ]. % 47.44/47.60 cut (((op (e0) (e3)) = (e3)) = ((op (op (e3) (e2)) (e3)) = (op (e3) (op (e2) (e3))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H87a. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H38. % 47.44/47.60 cut (((e3) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H87b]. % 47.44/47.60 cut (((op (e0) (e3)) = (op (op (e3) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H87c]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e2)) (e3)) = (op (op (e3) (e2)) (e3)))); [ zenon_intro zenon_H87d | zenon_intro zenon_H87e ]. % 47.44/47.60 cut (((op (op (e3) (e2)) (e3)) = (op (op (e3) (e2)) (e3))) = ((op (e0) (e3)) = (op (op (e3) (e2)) (e3)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H87c. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H87d. % 47.44/47.60 cut (((op (op (e3) (e2)) (e3)) = (op (op (e3) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H87e]. % 47.44/47.60 cut (((op (op (e3) (e2)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H87f]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H88 zenon_H81). % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 apply zenon_H87e. apply refl_equal. % 47.44/47.60 apply zenon_H87e. apply refl_equal. % 47.44/47.60 elim (classic ((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [ zenon_intro zenon_H880 | zenon_intro zenon_H881 ]. % 47.44/47.60 cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3)))) = ((e3) = (op (e3) (op (e2) (e3))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H87b. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H880. % 47.44/47.60 cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H881]. % 47.44/47.60 cut (((op (e3) (op (e2) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H882]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e2) (e3))) = (e3))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H882. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H71. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 cut (((op (e3) (e0)) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H883]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [ zenon_intro zenon_H880 | zenon_intro zenon_H881 ]. % 47.44/47.60 cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3)))) = ((op (e3) (e0)) = (op (e3) (op (e2) (e3))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H883. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H880. % 47.44/47.60 cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H881]. % 47.44/47.60 cut (((op (e3) (op (e2) (e3))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H884]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 congruence. % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 exact (zenon_H60 zenon_H59). % 47.44/47.60 apply zenon_H881. apply refl_equal. % 47.44/47.60 apply zenon_H881. apply refl_equal. % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 apply zenon_H881. apply refl_equal. % 47.44/47.60 apply zenon_H881. apply refl_equal. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H879); [ zenon_intro zenon_H886 | zenon_intro zenon_H885 ]. % 47.44/47.60 cut (((op (e0) (e4)) = (e4)) = ((op (op (e3) (e2)) (e4)) = (op (e3) (op (e2) (e4))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H886. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H1b. % 47.44/47.60 cut (((e4) = (op (e3) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H887]. % 47.44/47.60 cut (((op (e0) (e4)) = (op (op (e3) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H888]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e2)) (e4)) = (op (op (e3) (e2)) (e4)))); [ zenon_intro zenon_H889 | zenon_intro zenon_H88a ]. % 47.44/47.60 cut (((op (op (e3) (e2)) (e4)) = (op (op (e3) (e2)) (e4))) = ((op (e0) (e4)) = (op (op (e3) (e2)) (e4)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H888. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H889. % 47.44/47.60 cut (((op (op (e3) (e2)) (e4)) = (op (op (e3) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H88a]. % 47.44/47.60 cut (((op (op (e3) (e2)) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H88b]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.60 cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H88 zenon_H81). % 47.44/47.60 apply zenon_H1a. apply refl_equal. % 47.44/47.60 apply zenon_H88a. apply refl_equal. % 47.44/47.60 apply zenon_H88a. apply refl_equal. % 47.44/47.60 elim (classic ((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4))))); [ zenon_intro zenon_H88c | zenon_intro zenon_H88d ]. % 47.44/47.60 cut (((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4)))) = ((e4) = (op (e3) (op (e2) (e4))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H887. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H88c. % 47.44/47.60 cut (((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H88d]. % 47.44/47.60 cut (((op (e3) (op (e2) (e4))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H88e]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e3) (e5)) = (e4)) = ((op (e3) (op (e2) (e4))) = (e4))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H88e. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H99. % 47.44/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.60 cut (((op (e3) (e5)) = (op (e3) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H88f]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4))))); [ zenon_intro zenon_H88c | zenon_intro zenon_H88d ]. % 47.44/47.60 cut (((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4)))) = ((op (e3) (e5)) = (op (e3) (op (e2) (e4))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H88f. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H88c. % 47.44/47.60 cut (((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H88d]. % 47.44/47.60 cut (((op (e3) (op (e2) (e4))) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H890]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 congruence. % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 exact (zenon_H68 zenon_H61). % 47.44/47.60 apply zenon_H88d. apply refl_equal. % 47.44/47.60 apply zenon_H88d. apply refl_equal. % 47.44/47.60 apply zenon_H1a. apply refl_equal. % 47.44/47.60 apply zenon_H88d. apply refl_equal. % 47.44/47.60 apply zenon_H88d. apply refl_equal. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H885); [ zenon_intro zenon_H892 | zenon_intro zenon_H891 ]. % 47.44/47.60 cut (((op (e0) (e5)) = (e5)) = ((op (op (e3) (e2)) (e5)) = (op (e3) (op (e2) (e5))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H892. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H26. % 47.44/47.60 cut (((e5) = (op (e3) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H893]. % 47.44/47.60 cut (((op (e0) (e5)) = (op (op (e3) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H894]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e2)) (e5)) = (op (op (e3) (e2)) (e5)))); [ zenon_intro zenon_H895 | zenon_intro zenon_H896 ]. % 47.44/47.60 cut (((op (op (e3) (e2)) (e5)) = (op (op (e3) (e2)) (e5))) = ((op (e0) (e5)) = (op (op (e3) (e2)) (e5)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H894. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H895. % 47.44/47.60 cut (((op (op (e3) (e2)) (e5)) = (op (op (e3) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H896]. % 47.44/47.60 cut (((op (op (e3) (e2)) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H897]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.60 cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H88 zenon_H81). % 47.44/47.60 apply zenon_H25. apply refl_equal. % 47.44/47.60 apply zenon_H896. apply refl_equal. % 47.44/47.60 apply zenon_H896. apply refl_equal. % 47.44/47.60 elim (classic ((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5))))); [ zenon_intro zenon_H898 | zenon_intro zenon_H899 ]. % 47.44/47.60 cut (((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5)))) = ((e5) = (op (e3) (op (e2) (e5))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H893. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H898. % 47.44/47.60 cut (((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H899]. % 47.44/47.60 cut (((op (e3) (op (e2) (e5))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H89a]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e3) (e1)) = (e5)) = ((op (e3) (op (e2) (e5))) = (e5))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H89a. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H79. % 47.44/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.60 cut (((op (e3) (e1)) = (op (e3) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H89b]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5))))); [ zenon_intro zenon_H898 | zenon_intro zenon_H899 ]. % 47.44/47.60 cut (((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5)))) = ((op (e3) (e1)) = (op (e3) (op (e2) (e5))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H89b. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H898. % 47.44/47.60 cut (((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H899]. % 47.44/47.60 cut (((op (e3) (op (e2) (e5))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H89c]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 congruence. % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 exact (zenon_H70 zenon_H69). % 47.44/47.60 apply zenon_H899. apply refl_equal. % 47.44/47.60 apply zenon_H899. apply refl_equal. % 47.44/47.60 apply zenon_H25. apply refl_equal. % 47.44/47.60 apply zenon_H899. apply refl_equal. % 47.44/47.60 apply zenon_H899. apply refl_equal. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H891); [ zenon_intro zenon_H89e | zenon_intro zenon_H89d ]. % 47.44/47.60 cut (((op (e2) (e0)) = (e2)) = ((op (op (e3) (e3)) (e0)) = (op (e3) (op (e3) (e0))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H89e. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H41. % 47.44/47.60 cut (((e2) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H245]. % 47.44/47.60 cut (((op (e2) (e0)) = (op (op (e3) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H89f]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e3)) (e0)) = (op (op (e3) (e3)) (e0)))); [ zenon_intro zenon_H8a0 | zenon_intro zenon_H8a1 ]. % 47.44/47.60 cut (((op (op (e3) (e3)) (e0)) = (op (op (e3) (e3)) (e0))) = ((op (e2) (e0)) = (op (op (e3) (e3)) (e0)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H89f. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8a0. % 47.44/47.60 cut (((op (op (e3) (e3)) (e0)) = (op (op (e3) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8a1]. % 47.44/47.60 cut (((op (op (e3) (e3)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8a2]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.60 cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H90 zenon_H89). % 47.44/47.60 apply zenon_H5. apply refl_equal. % 47.44/47.60 apply zenon_H8a1. apply refl_equal. % 47.44/47.60 apply zenon_H8a1. apply refl_equal. % 47.44/47.60 apply (zenon_L91_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H89d); [ zenon_intro zenon_H8a4 | zenon_intro zenon_H8a3 ]. % 47.44/47.60 cut (((op (e2) (e1)) = (e4)) = ((op (op (e3) (e3)) (e1)) = (op (e3) (op (e3) (e1))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8a4. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H49. % 47.44/47.60 cut (((e4) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H24b]. % 47.44/47.60 cut (((op (e2) (e1)) = (op (op (e3) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8a5]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e3)) (e1)) = (op (op (e3) (e3)) (e1)))); [ zenon_intro zenon_H8a6 | zenon_intro zenon_H8a7 ]. % 47.44/47.60 cut (((op (op (e3) (e3)) (e1)) = (op (op (e3) (e3)) (e1))) = ((op (e2) (e1)) = (op (op (e3) (e3)) (e1)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8a5. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8a6. % 47.44/47.60 cut (((op (op (e3) (e3)) (e1)) = (op (op (e3) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8a7]. % 47.44/47.60 cut (((op (op (e3) (e3)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8a8]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.60 cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H90 zenon_H89). % 47.44/47.60 apply zenon_H6. apply refl_equal. % 47.44/47.60 apply zenon_H8a7. apply refl_equal. % 47.44/47.60 apply zenon_H8a7. apply refl_equal. % 47.44/47.60 apply (zenon_L92_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8a3); [ zenon_intro zenon_H8aa | zenon_intro zenon_H8a9 ]. % 47.44/47.60 cut (((op (e2) (e2)) = (e3)) = ((op (op (e3) (e3)) (e2)) = (op (e3) (op (e3) (e2))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8aa. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H51. % 47.44/47.60 cut (((e3) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H251]. % 47.44/47.60 cut (((op (e2) (e2)) = (op (op (e3) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8ab]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e3)) (e2)) = (op (op (e3) (e3)) (e2)))); [ zenon_intro zenon_H8ac | zenon_intro zenon_H8ad ]. % 47.44/47.60 cut (((op (op (e3) (e3)) (e2)) = (op (op (e3) (e3)) (e2))) = ((op (e2) (e2)) = (op (op (e3) (e3)) (e2)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8ab. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8ac. % 47.44/47.60 cut (((op (op (e3) (e3)) (e2)) = (op (op (e3) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8ad]. % 47.44/47.60 cut (((op (op (e3) (e3)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8ae]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H90 zenon_H89). % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 apply zenon_H8ad. apply refl_equal. % 47.44/47.60 apply zenon_H8ad. apply refl_equal. % 47.44/47.60 apply (zenon_L93_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8a9); [ zenon_intro zenon_H8b0 | zenon_intro zenon_H8af ]. % 47.44/47.60 cut (((op (e2) (e3)) = (e0)) = ((op (op (e3) (e3)) (e3)) = (op (e3) (op (e3) (e3))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8b0. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H59. % 47.44/47.60 cut (((e0) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H257]. % 47.44/47.60 cut (((op (e2) (e3)) = (op (op (e3) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8b1]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e3)) (e3)) = (op (op (e3) (e3)) (e3)))); [ zenon_intro zenon_H8b2 | zenon_intro zenon_H8b3 ]. % 47.44/47.60 cut (((op (op (e3) (e3)) (e3)) = (op (op (e3) (e3)) (e3))) = ((op (e2) (e3)) = (op (op (e3) (e3)) (e3)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8b1. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8b2. % 47.44/47.60 cut (((op (op (e3) (e3)) (e3)) = (op (op (e3) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8b3]. % 47.44/47.60 cut (((op (op (e3) (e3)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8b4]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H90 zenon_H89). % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 apply zenon_H8b3. apply refl_equal. % 47.44/47.60 apply zenon_H8b3. apply refl_equal. % 47.44/47.60 apply (zenon_L94_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8af); [ zenon_intro zenon_H8b6 | zenon_intro zenon_H8b5 ]. % 47.44/47.60 cut (((op (e2) (e4)) = (e5)) = ((op (op (e3) (e3)) (e4)) = (op (e3) (op (e3) (e4))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8b6. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H61. % 47.44/47.60 cut (((e5) = (op (e3) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H25d]. % 47.44/47.60 cut (((op (e2) (e4)) = (op (op (e3) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8b7]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e3)) (e4)) = (op (op (e3) (e3)) (e4)))); [ zenon_intro zenon_H8b8 | zenon_intro zenon_H8b9 ]. % 47.44/47.60 cut (((op (op (e3) (e3)) (e4)) = (op (op (e3) (e3)) (e4))) = ((op (e2) (e4)) = (op (op (e3) (e3)) (e4)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8b7. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8b8. % 47.44/47.60 cut (((op (op (e3) (e3)) (e4)) = (op (op (e3) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8b9]. % 47.44/47.60 cut (((op (op (e3) (e3)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8ba]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.60 cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H90 zenon_H89). % 47.44/47.60 apply zenon_H1a. apply refl_equal. % 47.44/47.60 apply zenon_H8b9. apply refl_equal. % 47.44/47.60 apply zenon_H8b9. apply refl_equal. % 47.44/47.60 apply (zenon_L95_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8b5); [ zenon_intro zenon_H8bc | zenon_intro zenon_H8bb ]. % 47.44/47.60 cut (((op (e2) (e5)) = (e1)) = ((op (op (e3) (e3)) (e5)) = (op (e3) (op (e3) (e5))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8bc. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H69. % 47.44/47.60 cut (((e1) = (op (e3) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H263]. % 47.44/47.60 cut (((op (e2) (e5)) = (op (op (e3) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8bd]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e3)) (e5)) = (op (op (e3) (e3)) (e5)))); [ zenon_intro zenon_H8be | zenon_intro zenon_H8bf ]. % 47.44/47.60 cut (((op (op (e3) (e3)) (e5)) = (op (op (e3) (e3)) (e5))) = ((op (e2) (e5)) = (op (op (e3) (e3)) (e5)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8bd. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8be. % 47.44/47.60 cut (((op (op (e3) (e3)) (e5)) = (op (op (e3) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8bf]. % 47.44/47.60 cut (((op (op (e3) (e3)) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8c0]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.60 cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H90 zenon_H89). % 47.44/47.60 apply zenon_H25. apply refl_equal. % 47.44/47.60 apply zenon_H8bf. apply refl_equal. % 47.44/47.60 apply zenon_H8bf. apply refl_equal. % 47.44/47.60 apply (zenon_L96_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8bb); [ zenon_intro zenon_H8c2 | zenon_intro zenon_H8c1 ]. % 47.44/47.60 cut (((op (e1) (e0)) = (e1)) = ((op (op (e3) (e4)) (e0)) = (op (e3) (op (e4) (e0))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8c2. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8. % 47.44/47.60 cut (((e1) = (op (e3) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H269]. % 47.44/47.60 cut (((op (e1) (e0)) = (op (op (e3) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8c3]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e4)) (e0)) = (op (op (e3) (e4)) (e0)))); [ zenon_intro zenon_H8c4 | zenon_intro zenon_H8c5 ]. % 47.44/47.60 cut (((op (op (e3) (e4)) (e0)) = (op (op (e3) (e4)) (e0))) = ((op (e1) (e0)) = (op (op (e3) (e4)) (e0)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8c3. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8c4. % 47.44/47.60 cut (((op (op (e3) (e4)) (e0)) = (op (op (e3) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8c5]. % 47.44/47.60 cut (((op (op (e3) (e4)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8c6]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.60 cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H98 zenon_H91). % 47.44/47.60 apply zenon_H5. apply refl_equal. % 47.44/47.60 apply zenon_H8c5. apply refl_equal. % 47.44/47.60 apply zenon_H8c5. apply refl_equal. % 47.44/47.60 apply (zenon_L97_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8c1); [ zenon_intro zenon_H8c8 | zenon_intro zenon_H8c7 ]. % 47.44/47.60 cut (((op (e1) (e1)) = (e0)) = ((op (op (e3) (e4)) (e1)) = (op (e3) (op (e4) (e1))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8c8. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H11. % 47.44/47.60 cut (((e0) = (op (e3) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H26f]. % 47.44/47.60 cut (((op (e1) (e1)) = (op (op (e3) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8c9]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e4)) (e1)) = (op (op (e3) (e4)) (e1)))); [ zenon_intro zenon_H8ca | zenon_intro zenon_H8cb ]. % 47.44/47.60 cut (((op (op (e3) (e4)) (e1)) = (op (op (e3) (e4)) (e1))) = ((op (e1) (e1)) = (op (op (e3) (e4)) (e1)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8c9. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8ca. % 47.44/47.60 cut (((op (op (e3) (e4)) (e1)) = (op (op (e3) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8cb]. % 47.44/47.60 cut (((op (op (e3) (e4)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8cc]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.60 cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H98 zenon_H91). % 47.44/47.60 apply zenon_H6. apply refl_equal. % 47.44/47.60 apply zenon_H8cb. apply refl_equal. % 47.44/47.60 apply zenon_H8cb. apply refl_equal. % 47.44/47.60 apply (zenon_L98_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8c7); [ zenon_intro zenon_H8ce | zenon_intro zenon_H8cd ]. % 47.44/47.60 cut (((op (e1) (e2)) = (e4)) = ((op (op (e3) (e4)) (e2)) = (op (e3) (op (e4) (e2))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8ce. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H1c. % 47.44/47.60 cut (((e4) = (op (e3) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H275]. % 47.44/47.60 cut (((op (e1) (e2)) = (op (op (e3) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8cf]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e4)) (e2)) = (op (op (e3) (e4)) (e2)))); [ zenon_intro zenon_H8d0 | zenon_intro zenon_H8d1 ]. % 47.44/47.60 cut (((op (op (e3) (e4)) (e2)) = (op (op (e3) (e4)) (e2))) = ((op (e1) (e2)) = (op (op (e3) (e4)) (e2)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8cf. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8d0. % 47.44/47.60 cut (((op (op (e3) (e4)) (e2)) = (op (op (e3) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8d1]. % 47.44/47.60 cut (((op (op (e3) (e4)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8d2]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H98 zenon_H91). % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 apply zenon_H8d1. apply refl_equal. % 47.44/47.60 apply zenon_H8d1. apply refl_equal. % 47.44/47.60 apply (zenon_L99_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8cd); [ zenon_intro zenon_H8d4 | zenon_intro zenon_H8d3 ]. % 47.44/47.60 cut (((op (e1) (e3)) = (e5)) = ((op (op (e3) (e4)) (e3)) = (op (e3) (op (e4) (e3))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8d4. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H27. % 47.44/47.60 cut (((e5) = (op (e3) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H27b]. % 47.44/47.60 cut (((op (e1) (e3)) = (op (op (e3) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8d5]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e4)) (e3)) = (op (op (e3) (e4)) (e3)))); [ zenon_intro zenon_H8d6 | zenon_intro zenon_H8d7 ]. % 47.44/47.60 cut (((op (op (e3) (e4)) (e3)) = (op (op (e3) (e4)) (e3))) = ((op (e1) (e3)) = (op (op (e3) (e4)) (e3)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8d5. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8d6. % 47.44/47.60 cut (((op (op (e3) (e4)) (e3)) = (op (op (e3) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8d7]. % 47.44/47.60 cut (((op (op (e3) (e4)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8d8]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H98 zenon_H91). % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 apply zenon_H8d7. apply refl_equal. % 47.44/47.60 apply zenon_H8d7. apply refl_equal. % 47.44/47.60 apply (zenon_L100_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8d3); [ zenon_intro zenon_H8da | zenon_intro zenon_H8d9 ]. % 47.44/47.60 cut (((op (e1) (e4)) = (e2)) = ((op (op (e3) (e4)) (e4)) = (op (e3) (op (e4) (e4))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8da. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H30. % 47.44/47.60 cut (((e2) = (op (e3) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H281]. % 47.44/47.60 cut (((op (e1) (e4)) = (op (op (e3) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8db]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e4)) (e4)) = (op (op (e3) (e4)) (e4)))); [ zenon_intro zenon_H8dc | zenon_intro zenon_H8dd ]. % 47.44/47.60 cut (((op (op (e3) (e4)) (e4)) = (op (op (e3) (e4)) (e4))) = ((op (e1) (e4)) = (op (op (e3) (e4)) (e4)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8db. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8dc. % 47.44/47.60 cut (((op (op (e3) (e4)) (e4)) = (op (op (e3) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8dd]. % 47.44/47.60 cut (((op (op (e3) (e4)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8de]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.60 cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H98 zenon_H91). % 47.44/47.60 apply zenon_H1a. apply refl_equal. % 47.44/47.60 apply zenon_H8dd. apply refl_equal. % 47.44/47.60 apply zenon_H8dd. apply refl_equal. % 47.44/47.60 apply (zenon_L101_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8d9); [ zenon_intro zenon_H8e0 | zenon_intro zenon_H8df ]. % 47.44/47.60 cut (((op (e1) (e5)) = (e3)) = ((op (op (e3) (e4)) (e5)) = (op (e3) (op (e4) (e5))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8e0. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H39. % 47.44/47.60 cut (((e3) = (op (e3) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H287]. % 47.44/47.60 cut (((op (e1) (e5)) = (op (op (e3) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8e1]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e4)) (e5)) = (op (op (e3) (e4)) (e5)))); [ zenon_intro zenon_H8e2 | zenon_intro zenon_H8e3 ]. % 47.44/47.60 cut (((op (op (e3) (e4)) (e5)) = (op (op (e3) (e4)) (e5))) = ((op (e1) (e5)) = (op (op (e3) (e4)) (e5)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8e1. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8e2. % 47.44/47.60 cut (((op (op (e3) (e4)) (e5)) = (op (op (e3) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8e3]. % 47.44/47.60 cut (((op (op (e3) (e4)) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8e4]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.60 cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_H98 zenon_H91). % 47.44/47.60 apply zenon_H25. apply refl_equal. % 47.44/47.60 apply zenon_H8e3. apply refl_equal. % 47.44/47.60 apply zenon_H8e3. apply refl_equal. % 47.44/47.60 apply (zenon_L102_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8df); [ zenon_intro zenon_H8e6 | zenon_intro zenon_H8e5 ]. % 47.44/47.60 cut (((op (e4) (e0)) = (e4)) = ((op (op (e3) (e5)) (e0)) = (op (e3) (op (e5) (e0))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8e6. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_Ha1. % 47.44/47.60 cut (((e4) = (op (e3) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H28d]. % 47.44/47.60 cut (((op (e4) (e0)) = (op (op (e3) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8e7]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e5)) (e0)) = (op (op (e3) (e5)) (e0)))); [ zenon_intro zenon_H8e8 | zenon_intro zenon_H8e9 ]. % 47.44/47.60 cut (((op (op (e3) (e5)) (e0)) = (op (op (e3) (e5)) (e0))) = ((op (e4) (e0)) = (op (op (e3) (e5)) (e0)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8e7. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8e8. % 47.44/47.60 cut (((op (op (e3) (e5)) (e0)) = (op (op (e3) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8e9]. % 47.44/47.60 cut (((op (op (e3) (e5)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8ea]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.60 cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_Ha0 zenon_H99). % 47.44/47.60 apply zenon_H5. apply refl_equal. % 47.44/47.60 apply zenon_H8e9. apply refl_equal. % 47.44/47.60 apply zenon_H8e9. apply refl_equal. % 47.44/47.60 apply (zenon_L103_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8e5); [ zenon_intro zenon_H8ec | zenon_intro zenon_H8eb ]. % 47.44/47.60 cut (((op (e4) (e1)) = (e2)) = ((op (op (e3) (e5)) (e1)) = (op (e3) (op (e5) (e1))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8ec. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_Ha9. % 47.44/47.60 cut (((e2) = (op (e3) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H293]. % 47.44/47.60 cut (((op (e4) (e1)) = (op (op (e3) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8ed]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e5)) (e1)) = (op (op (e3) (e5)) (e1)))); [ zenon_intro zenon_H8ee | zenon_intro zenon_H8ef ]. % 47.44/47.60 cut (((op (op (e3) (e5)) (e1)) = (op (op (e3) (e5)) (e1))) = ((op (e4) (e1)) = (op (op (e3) (e5)) (e1)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8ed. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8ee. % 47.44/47.60 cut (((op (op (e3) (e5)) (e1)) = (op (op (e3) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8ef]. % 47.44/47.60 cut (((op (op (e3) (e5)) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8f0]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.60 cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_Ha0 zenon_H99). % 47.44/47.60 apply zenon_H6. apply refl_equal. % 47.44/47.60 apply zenon_H8ef. apply refl_equal. % 47.44/47.60 apply zenon_H8ef. apply refl_equal. % 47.44/47.60 apply (zenon_L104_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8eb); [ zenon_intro zenon_H8f2 | zenon_intro zenon_H8f1 ]. % 47.44/47.60 cut (((op (e4) (e2)) = (e5)) = ((op (op (e3) (e5)) (e2)) = (op (e3) (op (e5) (e2))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8f2. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_Hb1. % 47.44/47.60 cut (((e5) = (op (e3) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H299]. % 47.44/47.60 cut (((op (e4) (e2)) = (op (op (e3) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8f3]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e5)) (e2)) = (op (op (e3) (e5)) (e2)))); [ zenon_intro zenon_H8f4 | zenon_intro zenon_H8f5 ]. % 47.44/47.60 cut (((op (op (e3) (e5)) (e2)) = (op (op (e3) (e5)) (e2))) = ((op (e4) (e2)) = (op (op (e3) (e5)) (e2)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8f3. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8f4. % 47.44/47.60 cut (((op (op (e3) (e5)) (e2)) = (op (op (e3) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8f5]. % 47.44/47.60 cut (((op (op (e3) (e5)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8f6]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.60 cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_Ha0 zenon_H99). % 47.44/47.60 apply zenon_H19. apply refl_equal. % 47.44/47.60 apply zenon_H8f5. apply refl_equal. % 47.44/47.60 apply zenon_H8f5. apply refl_equal. % 47.44/47.60 apply (zenon_L105_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8f1); [ zenon_intro zenon_H8f8 | zenon_intro zenon_H8f7 ]. % 47.44/47.60 cut (((op (e4) (e3)) = (e1)) = ((op (op (e3) (e5)) (e3)) = (op (e3) (op (e5) (e3))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8f8. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_Hb9. % 47.44/47.60 cut (((e1) = (op (e3) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H29f]. % 47.44/47.60 cut (((op (e4) (e3)) = (op (op (e3) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8f9]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e5)) (e3)) = (op (op (e3) (e5)) (e3)))); [ zenon_intro zenon_H8fa | zenon_intro zenon_H8fb ]. % 47.44/47.60 cut (((op (op (e3) (e5)) (e3)) = (op (op (e3) (e5)) (e3))) = ((op (e4) (e3)) = (op (op (e3) (e5)) (e3)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8f9. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H8fa. % 47.44/47.60 cut (((op (op (e3) (e5)) (e3)) = (op (op (e3) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8fb]. % 47.44/47.60 cut (((op (op (e3) (e5)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8fc]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.60 cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_Ha0 zenon_H99). % 47.44/47.60 apply zenon_H24. apply refl_equal. % 47.44/47.60 apply zenon_H8fb. apply refl_equal. % 47.44/47.60 apply zenon_H8fb. apply refl_equal. % 47.44/47.60 apply (zenon_L106_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8f7); [ zenon_intro zenon_H8fe | zenon_intro zenon_H8fd ]. % 47.44/47.60 cut (((op (e4) (e4)) = (e3)) = ((op (op (e3) (e5)) (e4)) = (op (e3) (op (e5) (e4))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8fe. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_Hc1. % 47.44/47.60 cut (((e3) = (op (e3) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2a5]. % 47.44/47.60 cut (((op (e4) (e4)) = (op (op (e3) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8ff]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e5)) (e4)) = (op (op (e3) (e5)) (e4)))); [ zenon_intro zenon_H900 | zenon_intro zenon_H901 ]. % 47.44/47.60 cut (((op (op (e3) (e5)) (e4)) = (op (op (e3) (e5)) (e4))) = ((op (e4) (e4)) = (op (op (e3) (e5)) (e4)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H8ff. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H900. % 47.44/47.60 cut (((op (op (e3) (e5)) (e4)) = (op (op (e3) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H901]. % 47.44/47.60 cut (((op (op (e3) (e5)) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H902]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.60 cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_Ha0 zenon_H99). % 47.44/47.60 apply zenon_H1a. apply refl_equal. % 47.44/47.60 apply zenon_H901. apply refl_equal. % 47.44/47.60 apply zenon_H901. apply refl_equal. % 47.44/47.60 apply (zenon_L107_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H8fd); [ zenon_intro zenon_H904 | zenon_intro zenon_H903 ]. % 47.44/47.60 cut (((op (e4) (e5)) = (e0)) = ((op (op (e3) (e5)) (e5)) = (op (e3) (op (e5) (e5))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H904. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_Hc9. % 47.44/47.60 cut (((e0) = (op (e3) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2ab]. % 47.44/47.60 cut (((op (e4) (e5)) = (op (op (e3) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H905]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e3) (e5)) (e5)) = (op (op (e3) (e5)) (e5)))); [ zenon_intro zenon_H906 | zenon_intro zenon_H907 ]. % 47.44/47.60 cut (((op (op (e3) (e5)) (e5)) = (op (op (e3) (e5)) (e5))) = ((op (e4) (e5)) = (op (op (e3) (e5)) (e5)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H905. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H906. % 47.44/47.60 cut (((op (op (e3) (e5)) (e5)) = (op (op (e3) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H907]. % 47.44/47.60 cut (((op (op (e3) (e5)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H908]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.60 cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_Ha0 zenon_H99). % 47.44/47.60 apply zenon_H25. apply refl_equal. % 47.44/47.60 apply zenon_H907. apply refl_equal. % 47.44/47.60 apply zenon_H907. apply refl_equal. % 47.44/47.60 apply (zenon_L108_); trivial. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H903); [ zenon_intro zenon_H90a | zenon_intro zenon_H909 ]. % 47.44/47.60 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H59e]. % 47.44/47.60 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_Ha8 zenon_Ha1). % 47.44/47.60 apply zenon_H59e. apply sym_equal. exact zenon_H10. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H909); [ zenon_intro zenon_H90c | zenon_intro zenon_H90b ]. % 47.44/47.60 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H416]. % 47.44/47.60 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_Ha8 zenon_Ha1). % 47.44/47.60 apply zenon_H416. apply sym_equal. exact zenon_H7. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H90b); [ zenon_intro zenon_H90e | zenon_intro zenon_H90d ]. % 47.44/47.60 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H42c]. % 47.44/47.60 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_Ha8 zenon_Ha1). % 47.44/47.60 apply zenon_H42c. apply sym_equal. exact zenon_H2f. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H90d); [ zenon_intro zenon_H910 | zenon_intro zenon_H90f ]. % 47.44/47.60 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H442]. % 47.44/47.60 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_Ha8 zenon_Ha1). % 47.44/47.60 apply zenon_H442. apply sym_equal. exact zenon_H38. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H90f); [ zenon_intro zenon_H912 | zenon_intro zenon_H911 ]. % 47.44/47.60 cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H458]. % 47.44/47.60 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_Ha8 zenon_Ha1). % 47.44/47.60 apply zenon_H458. apply sym_equal. exact zenon_H1b. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H911); [ zenon_intro zenon_H914 | zenon_intro zenon_H913 ]. % 47.44/47.60 cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46e]. % 47.44/47.60 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_Ha8 zenon_Ha1). % 47.44/47.60 apply zenon_H46e. apply sym_equal. exact zenon_H26. % 47.44/47.60 apply (zenon_notand_s _ _ zenon_H913); [ zenon_intro zenon_H916 | zenon_intro zenon_H915 ]. % 47.44/47.60 cut (((op (e2) (e0)) = (e2)) = ((op (op (e4) (e1)) (e0)) = (op (e4) (op (e1) (e0))))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H916. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H41. % 47.44/47.60 cut (((e2) = (op (e4) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2b1]. % 47.44/47.60 cut (((op (e2) (e0)) = (op (op (e4) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H917]. % 47.44/47.60 congruence. % 47.44/47.60 elim (classic ((op (op (e4) (e1)) (e0)) = (op (op (e4) (e1)) (e0)))); [ zenon_intro zenon_H918 | zenon_intro zenon_H919 ]. % 47.44/47.60 cut (((op (op (e4) (e1)) (e0)) = (op (op (e4) (e1)) (e0))) = ((op (e2) (e0)) = (op (op (e4) (e1)) (e0)))). % 47.44/47.60 intro zenon_D_pnotp. % 47.44/47.60 apply zenon_H917. % 47.44/47.60 rewrite <- zenon_D_pnotp. % 47.44/47.60 exact zenon_H918. % 47.44/47.60 cut (((op (op (e4) (e1)) (e0)) = (op (op (e4) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H919]. % 47.44/47.60 cut (((op (op (e4) (e1)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H91a]. % 47.44/47.60 congruence. % 47.44/47.60 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.60 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.44/47.60 congruence. % 47.44/47.60 exact (zenon_Hb0 zenon_Ha9). % 47.44/47.60 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply zenon_H919. apply refl_equal. % 47.44/47.61 apply zenon_H919. apply refl_equal. % 47.44/47.61 apply (zenon_L109_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H915); [ zenon_intro zenon_H91c | zenon_intro zenon_H91b ]. % 47.44/47.61 cut (((op (e2) (e1)) = (e4)) = ((op (op (e4) (e1)) (e1)) = (op (e4) (op (e1) (e1))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H91c. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H49. % 47.44/47.61 cut (((e4) = (op (e4) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2b7]. % 47.44/47.61 cut (((op (e2) (e1)) = (op (op (e4) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H91d]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e1)) (e1)) = (op (op (e4) (e1)) (e1)))); [ zenon_intro zenon_H91e | zenon_intro zenon_H91f ]. % 47.44/47.61 cut (((op (op (e4) (e1)) (e1)) = (op (op (e4) (e1)) (e1))) = ((op (e2) (e1)) = (op (op (e4) (e1)) (e1)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H91d. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H91e. % 47.44/47.61 cut (((op (op (e4) (e1)) (e1)) = (op (op (e4) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H91f]. % 47.44/47.61 cut (((op (op (e4) (e1)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H920]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb0 zenon_Ha9). % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply zenon_H91f. apply refl_equal. % 47.44/47.61 apply zenon_H91f. apply refl_equal. % 47.44/47.61 apply (zenon_L110_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H91b); [ zenon_intro zenon_H922 | zenon_intro zenon_H921 ]. % 47.44/47.61 cut (((op (e2) (e2)) = (e3)) = ((op (op (e4) (e1)) (e2)) = (op (e4) (op (e1) (e2))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H922. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H51. % 47.44/47.61 cut (((e3) = (op (e4) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2bd]. % 47.44/47.61 cut (((op (e2) (e2)) = (op (op (e4) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H923]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e1)) (e2)) = (op (op (e4) (e1)) (e2)))); [ zenon_intro zenon_H924 | zenon_intro zenon_H925 ]. % 47.44/47.61 cut (((op (op (e4) (e1)) (e2)) = (op (op (e4) (e1)) (e2))) = ((op (e2) (e2)) = (op (op (e4) (e1)) (e2)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H923. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H924. % 47.44/47.61 cut (((op (op (e4) (e1)) (e2)) = (op (op (e4) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H925]. % 47.44/47.61 cut (((op (op (e4) (e1)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H926]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb0 zenon_Ha9). % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply zenon_H925. apply refl_equal. % 47.44/47.61 apply zenon_H925. apply refl_equal. % 47.44/47.61 apply (zenon_L111_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H921); [ zenon_intro zenon_H928 | zenon_intro zenon_H927 ]. % 47.44/47.61 cut (((op (e2) (e3)) = (e0)) = ((op (op (e4) (e1)) (e3)) = (op (e4) (op (e1) (e3))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H928. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H59. % 47.44/47.61 cut (((e0) = (op (e4) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2c3]. % 47.44/47.61 cut (((op (e2) (e3)) = (op (op (e4) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H929]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e1)) (e3)) = (op (op (e4) (e1)) (e3)))); [ zenon_intro zenon_H92a | zenon_intro zenon_H92b ]. % 47.44/47.61 cut (((op (op (e4) (e1)) (e3)) = (op (op (e4) (e1)) (e3))) = ((op (e2) (e3)) = (op (op (e4) (e1)) (e3)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H929. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H92a. % 47.44/47.61 cut (((op (op (e4) (e1)) (e3)) = (op (op (e4) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H92b]. % 47.44/47.61 cut (((op (op (e4) (e1)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H92c]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb0 zenon_Ha9). % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply zenon_H92b. apply refl_equal. % 47.44/47.61 apply zenon_H92b. apply refl_equal. % 47.44/47.61 apply (zenon_L112_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H927); [ zenon_intro zenon_H92e | zenon_intro zenon_H92d ]. % 47.44/47.61 cut (((op (e2) (e4)) = (e5)) = ((op (op (e4) (e1)) (e4)) = (op (e4) (op (e1) (e4))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H92e. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H61. % 47.44/47.61 cut (((e5) = (op (e4) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2c9]. % 47.44/47.61 cut (((op (e2) (e4)) = (op (op (e4) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H92f]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e1)) (e4)) = (op (op (e4) (e1)) (e4)))); [ zenon_intro zenon_H930 | zenon_intro zenon_H931 ]. % 47.44/47.61 cut (((op (op (e4) (e1)) (e4)) = (op (op (e4) (e1)) (e4))) = ((op (e2) (e4)) = (op (op (e4) (e1)) (e4)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H92f. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H930. % 47.44/47.61 cut (((op (op (e4) (e1)) (e4)) = (op (op (e4) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H931]. % 47.44/47.61 cut (((op (op (e4) (e1)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H932]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb0 zenon_Ha9). % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply zenon_H931. apply refl_equal. % 47.44/47.61 apply zenon_H931. apply refl_equal. % 47.44/47.61 apply (zenon_L113_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H92d); [ zenon_intro zenon_H934 | zenon_intro zenon_H933 ]. % 47.44/47.61 cut (((op (e2) (e5)) = (e1)) = ((op (op (e4) (e1)) (e5)) = (op (e4) (op (e1) (e5))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H934. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H69. % 47.44/47.61 cut (((e1) = (op (e4) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2cf]. % 47.44/47.61 cut (((op (e2) (e5)) = (op (op (e4) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H935]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e1)) (e5)) = (op (op (e4) (e1)) (e5)))); [ zenon_intro zenon_H936 | zenon_intro zenon_H937 ]. % 47.44/47.61 cut (((op (op (e4) (e1)) (e5)) = (op (op (e4) (e1)) (e5))) = ((op (e2) (e5)) = (op (op (e4) (e1)) (e5)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H935. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H936. % 47.44/47.61 cut (((op (op (e4) (e1)) (e5)) = (op (op (e4) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H937]. % 47.44/47.61 cut (((op (op (e4) (e1)) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H938]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb0 zenon_Ha9). % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply zenon_H937. apply refl_equal. % 47.44/47.61 apply zenon_H937. apply refl_equal. % 47.44/47.61 apply (zenon_L114_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H933); [ zenon_intro zenon_H93a | zenon_intro zenon_H939 ]. % 47.44/47.61 cut (((op (e5) (e0)) = (e5)) = ((op (op (e4) (e2)) (e0)) = (op (e4) (op (e2) (e0))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H93a. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hd1. % 47.44/47.61 cut (((e5) = (op (e4) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2d5]. % 47.44/47.61 cut (((op (e5) (e0)) = (op (op (e4) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H93b]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e2)) (e0)) = (op (op (e4) (e2)) (e0)))); [ zenon_intro zenon_H93c | zenon_intro zenon_H93d ]. % 47.44/47.61 cut (((op (op (e4) (e2)) (e0)) = (op (op (e4) (e2)) (e0))) = ((op (e5) (e0)) = (op (op (e4) (e2)) (e0)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H93b. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H93c. % 47.44/47.61 cut (((op (op (e4) (e2)) (e0)) = (op (op (e4) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H93d]. % 47.44/47.61 cut (((op (op (e4) (e2)) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H93e]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb8 zenon_Hb1). % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply zenon_H93d. apply refl_equal. % 47.44/47.61 apply zenon_H93d. apply refl_equal. % 47.44/47.61 apply (zenon_L115_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H939); [ zenon_intro zenon_H940 | zenon_intro zenon_H93f ]. % 47.44/47.61 cut (((op (e5) (e1)) = (e3)) = ((op (op (e4) (e2)) (e1)) = (op (e4) (op (e2) (e1))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H940. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hd9. % 47.44/47.61 cut (((e3) = (op (e4) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2db]. % 47.44/47.61 cut (((op (e5) (e1)) = (op (op (e4) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H941]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e2)) (e1)) = (op (op (e4) (e2)) (e1)))); [ zenon_intro zenon_H942 | zenon_intro zenon_H943 ]. % 47.44/47.61 cut (((op (op (e4) (e2)) (e1)) = (op (op (e4) (e2)) (e1))) = ((op (e5) (e1)) = (op (op (e4) (e2)) (e1)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H941. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H942. % 47.44/47.61 cut (((op (op (e4) (e2)) (e1)) = (op (op (e4) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H943]. % 47.44/47.61 cut (((op (op (e4) (e2)) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H944]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb8 zenon_Hb1). % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply zenon_H943. apply refl_equal. % 47.44/47.61 apply zenon_H943. apply refl_equal. % 47.44/47.61 apply (zenon_L116_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H93f); [ zenon_intro zenon_H946 | zenon_intro zenon_H945 ]. % 47.44/47.61 cut (((op (e5) (e2)) = (e1)) = ((op (op (e4) (e2)) (e2)) = (op (e4) (op (e2) (e2))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H946. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_He1. % 47.44/47.61 cut (((e1) = (op (e4) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2e1]. % 47.44/47.61 cut (((op (e5) (e2)) = (op (op (e4) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H947]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e2)) (e2)) = (op (op (e4) (e2)) (e2)))); [ zenon_intro zenon_H948 | zenon_intro zenon_H949 ]. % 47.44/47.61 cut (((op (op (e4) (e2)) (e2)) = (op (op (e4) (e2)) (e2))) = ((op (e5) (e2)) = (op (op (e4) (e2)) (e2)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H947. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H948. % 47.44/47.61 cut (((op (op (e4) (e2)) (e2)) = (op (op (e4) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H949]. % 47.44/47.61 cut (((op (op (e4) (e2)) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H94a]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb8 zenon_Hb1). % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply zenon_H949. apply refl_equal. % 47.44/47.61 apply zenon_H949. apply refl_equal. % 47.44/47.61 apply (zenon_L117_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H945); [ zenon_intro zenon_H94c | zenon_intro zenon_H94b ]. % 47.44/47.61 cut (((op (e5) (e3)) = (e4)) = ((op (op (e4) (e2)) (e3)) = (op (e4) (op (e2) (e3))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H94c. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_He9. % 47.44/47.61 cut (((e4) = (op (e4) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2e7]. % 47.44/47.61 cut (((op (e5) (e3)) = (op (op (e4) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H94d]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e2)) (e3)) = (op (op (e4) (e2)) (e3)))); [ zenon_intro zenon_H94e | zenon_intro zenon_H94f ]. % 47.44/47.61 cut (((op (op (e4) (e2)) (e3)) = (op (op (e4) (e2)) (e3))) = ((op (e5) (e3)) = (op (op (e4) (e2)) (e3)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H94d. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H94e. % 47.44/47.61 cut (((op (op (e4) (e2)) (e3)) = (op (op (e4) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H94f]. % 47.44/47.61 cut (((op (op (e4) (e2)) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H950]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb8 zenon_Hb1). % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply zenon_H94f. apply refl_equal. % 47.44/47.61 apply zenon_H94f. apply refl_equal. % 47.44/47.61 apply (zenon_L118_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H94b); [ zenon_intro zenon_H952 | zenon_intro zenon_H951 ]. % 47.44/47.61 cut (((op (e5) (e4)) = (e0)) = ((op (op (e4) (e2)) (e4)) = (op (e4) (op (e2) (e4))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H952. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hf1. % 47.44/47.61 cut (((e0) = (op (e4) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2ed]. % 47.44/47.61 cut (((op (e5) (e4)) = (op (op (e4) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H953]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e2)) (e4)) = (op (op (e4) (e2)) (e4)))); [ zenon_intro zenon_H954 | zenon_intro zenon_H955 ]. % 47.44/47.61 cut (((op (op (e4) (e2)) (e4)) = (op (op (e4) (e2)) (e4))) = ((op (e5) (e4)) = (op (op (e4) (e2)) (e4)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H953. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H954. % 47.44/47.61 cut (((op (op (e4) (e2)) (e4)) = (op (op (e4) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H955]. % 47.44/47.61 cut (((op (op (e4) (e2)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H956]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb8 zenon_Hb1). % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply zenon_H955. apply refl_equal. % 47.44/47.61 apply zenon_H955. apply refl_equal. % 47.44/47.61 apply (zenon_L119_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H951); [ zenon_intro zenon_H958 | zenon_intro zenon_H957 ]. % 47.44/47.61 cut (((op (e5) (e5)) = (e2)) = ((op (op (e4) (e2)) (e5)) = (op (e4) (op (e2) (e5))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H958. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hf9. % 47.44/47.61 cut (((e2) = (op (e4) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2f3]. % 47.44/47.61 cut (((op (e5) (e5)) = (op (op (e4) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H959]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e2)) (e5)) = (op (op (e4) (e2)) (e5)))); [ zenon_intro zenon_H95a | zenon_intro zenon_H95b ]. % 47.44/47.61 cut (((op (op (e4) (e2)) (e5)) = (op (op (e4) (e2)) (e5))) = ((op (e5) (e5)) = (op (op (e4) (e2)) (e5)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H959. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H95a. % 47.44/47.61 cut (((op (op (e4) (e2)) (e5)) = (op (op (e4) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H95b]. % 47.44/47.61 cut (((op (op (e4) (e2)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H95c]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb8 zenon_Hb1). % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply zenon_H95b. apply refl_equal. % 47.44/47.61 apply zenon_H95b. apply refl_equal. % 47.44/47.61 apply (zenon_L120_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H957); [ zenon_intro zenon_H95e | zenon_intro zenon_H95d ]. % 47.44/47.61 cut (((op (e1) (e0)) = (e1)) = ((op (op (e4) (e3)) (e0)) = (op (e4) (op (e3) (e0))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H95e. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H8. % 47.44/47.61 cut (((e1) = (op (e4) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2f9]. % 47.44/47.61 cut (((op (e1) (e0)) = (op (op (e4) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H95f]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e3)) (e0)) = (op (op (e4) (e3)) (e0)))); [ zenon_intro zenon_H960 | zenon_intro zenon_H961 ]. % 47.44/47.61 cut (((op (op (e4) (e3)) (e0)) = (op (op (e4) (e3)) (e0))) = ((op (e1) (e0)) = (op (op (e4) (e3)) (e0)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H95f. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H960. % 47.44/47.61 cut (((op (op (e4) (e3)) (e0)) = (op (op (e4) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H961]. % 47.44/47.61 cut (((op (op (e4) (e3)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H962]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hc0 zenon_Hb9). % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply zenon_H961. apply refl_equal. % 47.44/47.61 apply zenon_H961. apply refl_equal. % 47.44/47.61 apply (zenon_L121_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H95d); [ zenon_intro zenon_H964 | zenon_intro zenon_H963 ]. % 47.44/47.61 cut (((op (e1) (e1)) = (e0)) = ((op (op (e4) (e3)) (e1)) = (op (e4) (op (e3) (e1))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H964. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H11. % 47.44/47.61 cut (((e0) = (op (e4) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2ff]. % 47.44/47.61 cut (((op (e1) (e1)) = (op (op (e4) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H965]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e3)) (e1)) = (op (op (e4) (e3)) (e1)))); [ zenon_intro zenon_H966 | zenon_intro zenon_H967 ]. % 47.44/47.61 cut (((op (op (e4) (e3)) (e1)) = (op (op (e4) (e3)) (e1))) = ((op (e1) (e1)) = (op (op (e4) (e3)) (e1)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H965. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H966. % 47.44/47.61 cut (((op (op (e4) (e3)) (e1)) = (op (op (e4) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H967]. % 47.44/47.61 cut (((op (op (e4) (e3)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H968]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hc0 zenon_Hb9). % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply zenon_H967. apply refl_equal. % 47.44/47.61 apply zenon_H967. apply refl_equal. % 47.44/47.61 apply (zenon_L122_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H963); [ zenon_intro zenon_H96a | zenon_intro zenon_H969 ]. % 47.44/47.61 cut (((op (e1) (e2)) = (e4)) = ((op (op (e4) (e3)) (e2)) = (op (e4) (op (e3) (e2))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H96a. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H1c. % 47.44/47.61 cut (((e4) = (op (e4) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H305]. % 47.44/47.61 cut (((op (e1) (e2)) = (op (op (e4) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96b]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e3)) (e2)) = (op (op (e4) (e3)) (e2)))); [ zenon_intro zenon_H96c | zenon_intro zenon_H96d ]. % 47.44/47.61 cut (((op (op (e4) (e3)) (e2)) = (op (op (e4) (e3)) (e2))) = ((op (e1) (e2)) = (op (op (e4) (e3)) (e2)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H96b. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H96c. % 47.44/47.61 cut (((op (op (e4) (e3)) (e2)) = (op (op (e4) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96d]. % 47.44/47.61 cut (((op (op (e4) (e3)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96e]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hc0 zenon_Hb9). % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply zenon_H96d. apply refl_equal. % 47.44/47.61 apply zenon_H96d. apply refl_equal. % 47.44/47.61 apply (zenon_L123_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H969); [ zenon_intro zenon_H970 | zenon_intro zenon_H96f ]. % 47.44/47.61 cut (((op (e1) (e3)) = (e5)) = ((op (op (e4) (e3)) (e3)) = (op (e4) (op (e3) (e3))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H970. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H27. % 47.44/47.61 cut (((e5) = (op (e4) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H30b]. % 47.44/47.61 cut (((op (e1) (e3)) = (op (op (e4) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H971]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e3)) (e3)) = (op (op (e4) (e3)) (e3)))); [ zenon_intro zenon_H972 | zenon_intro zenon_H973 ]. % 47.44/47.61 cut (((op (op (e4) (e3)) (e3)) = (op (op (e4) (e3)) (e3))) = ((op (e1) (e3)) = (op (op (e4) (e3)) (e3)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H971. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H972. % 47.44/47.61 cut (((op (op (e4) (e3)) (e3)) = (op (op (e4) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H973]. % 47.44/47.61 cut (((op (op (e4) (e3)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H974]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hc0 zenon_Hb9). % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply zenon_H973. apply refl_equal. % 47.44/47.61 apply zenon_H973. apply refl_equal. % 47.44/47.61 apply (zenon_L124_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H96f); [ zenon_intro zenon_H976 | zenon_intro zenon_H975 ]. % 47.44/47.61 cut (((op (e1) (e4)) = (e2)) = ((op (op (e4) (e3)) (e4)) = (op (e4) (op (e3) (e4))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H976. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H30. % 47.44/47.61 cut (((e2) = (op (e4) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H311]. % 47.44/47.61 cut (((op (e1) (e4)) = (op (op (e4) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H977]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e3)) (e4)) = (op (op (e4) (e3)) (e4)))); [ zenon_intro zenon_H978 | zenon_intro zenon_H979 ]. % 47.44/47.61 cut (((op (op (e4) (e3)) (e4)) = (op (op (e4) (e3)) (e4))) = ((op (e1) (e4)) = (op (op (e4) (e3)) (e4)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H977. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H978. % 47.44/47.61 cut (((op (op (e4) (e3)) (e4)) = (op (op (e4) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H979]. % 47.44/47.61 cut (((op (op (e4) (e3)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H97a]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hc0 zenon_Hb9). % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply zenon_H979. apply refl_equal. % 47.44/47.61 apply zenon_H979. apply refl_equal. % 47.44/47.61 apply (zenon_L125_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H975); [ zenon_intro zenon_H97c | zenon_intro zenon_H97b ]. % 47.44/47.61 cut (((op (e1) (e5)) = (e3)) = ((op (op (e4) (e3)) (e5)) = (op (e4) (op (e3) (e5))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H97c. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H39. % 47.44/47.61 cut (((e3) = (op (e4) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H317]. % 47.44/47.61 cut (((op (e1) (e5)) = (op (op (e4) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H97d]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e3)) (e5)) = (op (op (e4) (e3)) (e5)))); [ zenon_intro zenon_H97e | zenon_intro zenon_H97f ]. % 47.44/47.61 cut (((op (op (e4) (e3)) (e5)) = (op (op (e4) (e3)) (e5))) = ((op (e1) (e5)) = (op (op (e4) (e3)) (e5)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H97d. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H97e. % 47.44/47.61 cut (((op (op (e4) (e3)) (e5)) = (op (op (e4) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H97f]. % 47.44/47.61 cut (((op (op (e4) (e3)) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H980]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hc0 zenon_Hb9). % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply zenon_H97f. apply refl_equal. % 47.44/47.61 apply zenon_H97f. apply refl_equal. % 47.44/47.61 apply (zenon_L126_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H97b); [ zenon_intro zenon_H982 | zenon_intro zenon_H981 ]. % 47.44/47.61 cut (((op (e3) (e0)) = (e3)) = ((op (op (e4) (e4)) (e0)) = (op (e4) (op (e4) (e0))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H982. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H71. % 47.44/47.61 cut (((e3) = (op (e4) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H31d]. % 47.44/47.61 cut (((op (e3) (e0)) = (op (op (e4) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H983]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e4)) (e0)) = (op (op (e4) (e4)) (e0)))); [ zenon_intro zenon_H984 | zenon_intro zenon_H985 ]. % 47.44/47.61 cut (((op (op (e4) (e4)) (e0)) = (op (op (e4) (e4)) (e0))) = ((op (e3) (e0)) = (op (op (e4) (e4)) (e0)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H983. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H984. % 47.44/47.61 cut (((op (op (e4) (e4)) (e0)) = (op (op (e4) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H985]. % 47.44/47.61 cut (((op (op (e4) (e4)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H986]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hc8 zenon_Hc1). % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply zenon_H985. apply refl_equal. % 47.44/47.61 apply zenon_H985. apply refl_equal. % 47.44/47.61 apply (zenon_L127_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H981); [ zenon_intro zenon_H988 | zenon_intro zenon_H987 ]. % 47.44/47.61 cut (((op (e3) (e1)) = (e5)) = ((op (op (e4) (e4)) (e1)) = (op (e4) (op (e4) (e1))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H988. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H79. % 47.44/47.61 cut (((e5) = (op (e4) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H323]. % 47.44/47.61 cut (((op (e3) (e1)) = (op (op (e4) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H989]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e4)) (e1)) = (op (op (e4) (e4)) (e1)))); [ zenon_intro zenon_H98a | zenon_intro zenon_H98b ]. % 47.44/47.61 cut (((op (op (e4) (e4)) (e1)) = (op (op (e4) (e4)) (e1))) = ((op (e3) (e1)) = (op (op (e4) (e4)) (e1)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H989. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H98a. % 47.44/47.61 cut (((op (op (e4) (e4)) (e1)) = (op (op (e4) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H98b]. % 47.44/47.61 cut (((op (op (e4) (e4)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H98c]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hc8 zenon_Hc1). % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply zenon_H98b. apply refl_equal. % 47.44/47.61 apply zenon_H98b. apply refl_equal. % 47.44/47.61 apply (zenon_L128_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H987); [ zenon_intro zenon_H98e | zenon_intro zenon_H98d ]. % 47.44/47.61 cut (((op (e3) (e2)) = (e0)) = ((op (op (e4) (e4)) (e2)) = (op (e4) (op (e4) (e2))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H98e. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H81. % 47.44/47.61 cut (((e0) = (op (e4) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H329]. % 47.44/47.61 cut (((op (e3) (e2)) = (op (op (e4) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H98f]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e4)) (e2)) = (op (op (e4) (e4)) (e2)))); [ zenon_intro zenon_H990 | zenon_intro zenon_H991 ]. % 47.44/47.61 cut (((op (op (e4) (e4)) (e2)) = (op (op (e4) (e4)) (e2))) = ((op (e3) (e2)) = (op (op (e4) (e4)) (e2)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H98f. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H990. % 47.44/47.61 cut (((op (op (e4) (e4)) (e2)) = (op (op (e4) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H991]. % 47.44/47.61 cut (((op (op (e4) (e4)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H992]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hc8 zenon_Hc1). % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply zenon_H991. apply refl_equal. % 47.44/47.61 apply zenon_H991. apply refl_equal. % 47.44/47.61 apply (zenon_L129_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H98d); [ zenon_intro zenon_H994 | zenon_intro zenon_H993 ]. % 47.44/47.61 cut (((op (e3) (e3)) = (e2)) = ((op (op (e4) (e4)) (e3)) = (op (e4) (op (e4) (e3))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H994. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H89. % 47.44/47.61 cut (((e2) = (op (e4) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H32f]. % 47.44/47.61 cut (((op (e3) (e3)) = (op (op (e4) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H995]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e4)) (e3)) = (op (op (e4) (e4)) (e3)))); [ zenon_intro zenon_H996 | zenon_intro zenon_H997 ]. % 47.44/47.61 cut (((op (op (e4) (e4)) (e3)) = (op (op (e4) (e4)) (e3))) = ((op (e3) (e3)) = (op (op (e4) (e4)) (e3)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H995. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H996. % 47.44/47.61 cut (((op (op (e4) (e4)) (e3)) = (op (op (e4) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H997]. % 47.44/47.61 cut (((op (op (e4) (e4)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H998]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hc8 zenon_Hc1). % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply zenon_H997. apply refl_equal. % 47.44/47.61 apply zenon_H997. apply refl_equal. % 47.44/47.61 apply (zenon_L130_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H993); [ zenon_intro zenon_H99a | zenon_intro zenon_H999 ]. % 47.44/47.61 cut (((op (e3) (e4)) = (e1)) = ((op (op (e4) (e4)) (e4)) = (op (e4) (op (e4) (e4))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H99a. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H91. % 47.44/47.61 cut (((e1) = (op (e4) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H335]. % 47.44/47.61 cut (((op (e3) (e4)) = (op (op (e4) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H99b]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e4)) (e4)) = (op (op (e4) (e4)) (e4)))); [ zenon_intro zenon_H99c | zenon_intro zenon_H99d ]. % 47.44/47.61 cut (((op (op (e4) (e4)) (e4)) = (op (op (e4) (e4)) (e4))) = ((op (e3) (e4)) = (op (op (e4) (e4)) (e4)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H99b. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H99c. % 47.44/47.61 cut (((op (op (e4) (e4)) (e4)) = (op (op (e4) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H99d]. % 47.44/47.61 cut (((op (op (e4) (e4)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H99e]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hc8 zenon_Hc1). % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply zenon_H99d. apply refl_equal. % 47.44/47.61 apply zenon_H99d. apply refl_equal. % 47.44/47.61 apply (zenon_L131_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H999); [ zenon_intro zenon_H9a0 | zenon_intro zenon_H99f ]. % 47.44/47.61 cut (((op (e3) (e5)) = (e4)) = ((op (op (e4) (e4)) (e5)) = (op (e4) (op (e4) (e5))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9a0. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H99. % 47.44/47.61 cut (((e4) = (op (e4) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H33b]. % 47.44/47.61 cut (((op (e3) (e5)) = (op (op (e4) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9a1]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e4)) (e5)) = (op (op (e4) (e4)) (e5)))); [ zenon_intro zenon_H9a2 | zenon_intro zenon_H9a3 ]. % 47.44/47.61 cut (((op (op (e4) (e4)) (e5)) = (op (op (e4) (e4)) (e5))) = ((op (e3) (e5)) = (op (op (e4) (e4)) (e5)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9a1. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9a2. % 47.44/47.61 cut (((op (op (e4) (e4)) (e5)) = (op (op (e4) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9a3]. % 47.44/47.61 cut (((op (op (e4) (e4)) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9a4]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hc8 zenon_Hc1). % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply zenon_H9a3. apply refl_equal. % 47.44/47.61 apply zenon_H9a3. apply refl_equal. % 47.44/47.61 apply (zenon_L132_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H99f); [ zenon_intro zenon_H9a6 | zenon_intro zenon_H9a5 ]. % 47.44/47.61 cut (((op (e0) (e0)) = (e0)) = ((op (op (e4) (e5)) (e0)) = (op (e4) (op (e5) (e0))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9a6. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H10. % 47.44/47.61 cut (((e0) = (op (e4) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H9a7]. % 47.44/47.61 cut (((op (e0) (e0)) = (op (op (e4) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9a8]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e5)) (e0)) = (op (op (e4) (e5)) (e0)))); [ zenon_intro zenon_H9a9 | zenon_intro zenon_H9aa ]. % 47.44/47.61 cut (((op (op (e4) (e5)) (e0)) = (op (op (e4) (e5)) (e0))) = ((op (e0) (e0)) = (op (op (e4) (e5)) (e0)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9a8. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9a9. % 47.44/47.61 cut (((op (op (e4) (e5)) (e0)) = (op (op (e4) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9aa]. % 47.44/47.61 cut (((op (op (e4) (e5)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9ab]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hd0 zenon_Hc9). % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply zenon_H9aa. apply refl_equal. % 47.44/47.61 apply zenon_H9aa. apply refl_equal. % 47.44/47.61 elim (classic ((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0))))); [ zenon_intro zenon_H9ac | zenon_intro zenon_H9ad ]. % 47.44/47.61 cut (((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0)))) = ((e0) = (op (e4) (op (e5) (e0))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9a7. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9ac. % 47.44/47.61 cut (((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H9ad]. % 47.44/47.61 cut (((op (e4) (op (e5) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H9ae]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e4) (e5)) = (e0)) = ((op (e4) (op (e5) (e0))) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9ae. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hc9. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e4) (e5)) = (op (e4) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H9af]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0))))); [ zenon_intro zenon_H9ac | zenon_intro zenon_H9ad ]. % 47.44/47.61 cut (((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0)))) = ((op (e4) (e5)) = (op (e4) (op (e5) (e0))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9af. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9ac. % 47.44/47.61 cut (((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H9ad]. % 47.44/47.61 cut (((op (e4) (op (e5) (e0))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9b0]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 exact (zenon_Hd8 zenon_Hd1). % 47.44/47.61 apply zenon_H9ad. apply refl_equal. % 47.44/47.61 apply zenon_H9ad. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply zenon_H9ad. apply refl_equal. % 47.44/47.61 apply zenon_H9ad. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H9a5); [ zenon_intro zenon_H9b2 | zenon_intro zenon_H9b1 ]. % 47.44/47.61 cut (((op (e0) (e1)) = (e1)) = ((op (op (e4) (e5)) (e1)) = (op (e4) (op (e5) (e1))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9b2. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H7. % 47.44/47.61 cut (((e1) = (op (e4) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H9b3]. % 47.44/47.61 cut (((op (e0) (e1)) = (op (op (e4) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9b4]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e5)) (e1)) = (op (op (e4) (e5)) (e1)))); [ zenon_intro zenon_H9b5 | zenon_intro zenon_H9b6 ]. % 47.44/47.61 cut (((op (op (e4) (e5)) (e1)) = (op (op (e4) (e5)) (e1))) = ((op (e0) (e1)) = (op (op (e4) (e5)) (e1)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9b4. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9b5. % 47.44/47.61 cut (((op (op (e4) (e5)) (e1)) = (op (op (e4) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9b6]. % 47.44/47.61 cut (((op (op (e4) (e5)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9b7]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hd0 zenon_Hc9). % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply zenon_H9b6. apply refl_equal. % 47.44/47.61 apply zenon_H9b6. apply refl_equal. % 47.44/47.61 elim (classic ((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1))))); [ zenon_intro zenon_H9b8 | zenon_intro zenon_H9b9 ]. % 47.44/47.61 cut (((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1)))) = ((e1) = (op (e4) (op (e5) (e1))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9b3. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9b8. % 47.44/47.61 cut (((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H9b9]. % 47.44/47.61 cut (((op (e4) (op (e5) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H9ba]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e4) (e3)) = (e1)) = ((op (e4) (op (e5) (e1))) = (e1))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9ba. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb9. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((op (e4) (e3)) = (op (e4) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H9bb]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1))))); [ zenon_intro zenon_H9b8 | zenon_intro zenon_H9b9 ]. % 47.44/47.61 cut (((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1)))) = ((op (e4) (e3)) = (op (e4) (op (e5) (e1))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9bb. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9b8. % 47.44/47.61 cut (((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H9b9]. % 47.44/47.61 cut (((op (e4) (op (e5) (e1))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H9bc]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 exact (zenon_He0 zenon_Hd9). % 47.44/47.61 apply zenon_H9b9. apply refl_equal. % 47.44/47.61 apply zenon_H9b9. apply refl_equal. % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply zenon_H9b9. apply refl_equal. % 47.44/47.61 apply zenon_H9b9. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H9b1); [ zenon_intro zenon_H9be | zenon_intro zenon_H9bd ]. % 47.44/47.61 cut (((op (e0) (e2)) = (e2)) = ((op (op (e4) (e5)) (e2)) = (op (e4) (op (e5) (e2))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9be. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H2f. % 47.44/47.61 cut (((e2) = (op (e4) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H9bf]. % 47.44/47.61 cut (((op (e0) (e2)) = (op (op (e4) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9c0]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e5)) (e2)) = (op (op (e4) (e5)) (e2)))); [ zenon_intro zenon_H9c1 | zenon_intro zenon_H9c2 ]. % 47.44/47.61 cut (((op (op (e4) (e5)) (e2)) = (op (op (e4) (e5)) (e2))) = ((op (e0) (e2)) = (op (op (e4) (e5)) (e2)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9c0. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9c1. % 47.44/47.61 cut (((op (op (e4) (e5)) (e2)) = (op (op (e4) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9c2]. % 47.44/47.61 cut (((op (op (e4) (e5)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9c3]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hd0 zenon_Hc9). % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply zenon_H9c2. apply refl_equal. % 47.44/47.61 apply zenon_H9c2. apply refl_equal. % 47.44/47.61 elim (classic ((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2))))); [ zenon_intro zenon_H9c4 | zenon_intro zenon_H9c5 ]. % 47.44/47.61 cut (((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2)))) = ((e2) = (op (e4) (op (e5) (e2))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9bf. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9c4. % 47.44/47.61 cut (((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H9c5]. % 47.44/47.61 cut (((op (e4) (op (e5) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H9c6]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e4) (e1)) = (e2)) = ((op (e4) (op (e5) (e2))) = (e2))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9c6. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha9. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((op (e4) (e1)) = (op (e4) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H9c7]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2))))); [ zenon_intro zenon_H9c4 | zenon_intro zenon_H9c5 ]. % 47.44/47.61 cut (((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2)))) = ((op (e4) (e1)) = (op (e4) (op (e5) (e2))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9c7. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9c4. % 47.44/47.61 cut (((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H9c5]. % 47.44/47.61 cut (((op (e4) (op (e5) (e2))) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9c8]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 exact (zenon_He8 zenon_He1). % 47.44/47.61 apply zenon_H9c5. apply refl_equal. % 47.44/47.61 apply zenon_H9c5. apply refl_equal. % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply zenon_H9c5. apply refl_equal. % 47.44/47.61 apply zenon_H9c5. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H9bd); [ zenon_intro zenon_H9ca | zenon_intro zenon_H9c9 ]. % 47.44/47.61 cut (((op (e0) (e3)) = (e3)) = ((op (op (e4) (e5)) (e3)) = (op (e4) (op (e5) (e3))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9ca. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H38. % 47.44/47.61 cut (((e3) = (op (e4) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H9cb]. % 47.44/47.61 cut (((op (e0) (e3)) = (op (op (e4) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H9cc]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e5)) (e3)) = (op (op (e4) (e5)) (e3)))); [ zenon_intro zenon_H9cd | zenon_intro zenon_H9ce ]. % 47.44/47.61 cut (((op (op (e4) (e5)) (e3)) = (op (op (e4) (e5)) (e3))) = ((op (e0) (e3)) = (op (op (e4) (e5)) (e3)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9cc. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9cd. % 47.44/47.61 cut (((op (op (e4) (e5)) (e3)) = (op (op (e4) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H9ce]. % 47.44/47.61 cut (((op (op (e4) (e5)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H9cf]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hd0 zenon_Hc9). % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply zenon_H9ce. apply refl_equal. % 47.44/47.61 apply zenon_H9ce. apply refl_equal. % 47.44/47.61 elim (classic ((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3))))); [ zenon_intro zenon_H9d0 | zenon_intro zenon_H9d1 ]. % 47.44/47.61 cut (((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3)))) = ((e3) = (op (e4) (op (e5) (e3))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9cb. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9d0. % 47.44/47.61 cut (((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H9d1]. % 47.44/47.61 cut (((op (e4) (op (e5) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H9d2]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e4) (e4)) = (e3)) = ((op (e4) (op (e5) (e3))) = (e3))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9d2. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hc1. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((op (e4) (e4)) = (op (e4) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H9d3]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3))))); [ zenon_intro zenon_H9d0 | zenon_intro zenon_H9d1 ]. % 47.44/47.61 cut (((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3)))) = ((op (e4) (e4)) = (op (e4) (op (e5) (e3))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9d3. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9d0. % 47.44/47.61 cut (((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H9d1]. % 47.44/47.61 cut (((op (e4) (op (e5) (e3))) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9d4]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 exact (zenon_Hf0 zenon_He9). % 47.44/47.61 apply zenon_H9d1. apply refl_equal. % 47.44/47.61 apply zenon_H9d1. apply refl_equal. % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply zenon_H9d1. apply refl_equal. % 47.44/47.61 apply zenon_H9d1. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H9c9); [ zenon_intro zenon_H9d6 | zenon_intro zenon_H9d5 ]. % 47.44/47.61 cut (((op (e0) (e4)) = (e4)) = ((op (op (e4) (e5)) (e4)) = (op (e4) (op (e5) (e4))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9d6. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H1b. % 47.44/47.61 cut (((e4) = (op (e4) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H9d7]. % 47.44/47.61 cut (((op (e0) (e4)) = (op (op (e4) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9d8]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e5)) (e4)) = (op (op (e4) (e5)) (e4)))); [ zenon_intro zenon_H9d9 | zenon_intro zenon_H9da ]. % 47.44/47.61 cut (((op (op (e4) (e5)) (e4)) = (op (op (e4) (e5)) (e4))) = ((op (e0) (e4)) = (op (op (e4) (e5)) (e4)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9d8. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9d9. % 47.44/47.61 cut (((op (op (e4) (e5)) (e4)) = (op (op (e4) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9da]. % 47.44/47.61 cut (((op (op (e4) (e5)) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9db]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hd0 zenon_Hc9). % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply zenon_H9da. apply refl_equal. % 47.44/47.61 apply zenon_H9da. apply refl_equal. % 47.44/47.61 elim (classic ((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4))))); [ zenon_intro zenon_H9dc | zenon_intro zenon_H9dd ]. % 47.44/47.61 cut (((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4)))) = ((e4) = (op (e4) (op (e5) (e4))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9d7. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9dc. % 47.44/47.61 cut (((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H9dd]. % 47.44/47.61 cut (((op (e4) (op (e5) (e4))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H9de]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e4) (e0)) = (e4)) = ((op (e4) (op (e5) (e4))) = (e4))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9de. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha1. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((op (e4) (e0)) = (op (e4) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H9df]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4))))); [ zenon_intro zenon_H9dc | zenon_intro zenon_H9dd ]. % 47.44/47.61 cut (((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4)))) = ((op (e4) (e0)) = (op (e4) (op (e5) (e4))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9df. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9dc. % 47.44/47.61 cut (((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H9dd]. % 47.44/47.61 cut (((op (e4) (op (e5) (e4))) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9e0]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 exact (zenon_Hf8 zenon_Hf1). % 47.44/47.61 apply zenon_H9dd. apply refl_equal. % 47.44/47.61 apply zenon_H9dd. apply refl_equal. % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply zenon_H9dd. apply refl_equal. % 47.44/47.61 apply zenon_H9dd. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H9d5); [ zenon_intro zenon_H9e2 | zenon_intro zenon_H9e1 ]. % 47.44/47.61 cut (((op (e0) (e5)) = (e5)) = ((op (op (e4) (e5)) (e5)) = (op (e4) (op (e5) (e5))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9e2. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H26. % 47.44/47.61 cut (((e5) = (op (e4) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9e3]. % 47.44/47.61 cut (((op (e0) (e5)) = (op (op (e4) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9e4]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e4) (e5)) (e5)) = (op (op (e4) (e5)) (e5)))); [ zenon_intro zenon_H9e5 | zenon_intro zenon_H9e6 ]. % 47.44/47.61 cut (((op (op (e4) (e5)) (e5)) = (op (op (e4) (e5)) (e5))) = ((op (e0) (e5)) = (op (op (e4) (e5)) (e5)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9e4. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9e5. % 47.44/47.61 cut (((op (op (e4) (e5)) (e5)) = (op (op (e4) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9e6]. % 47.44/47.61 cut (((op (op (e4) (e5)) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9e7]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hd0 zenon_Hc9). % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply zenon_H9e6. apply refl_equal. % 47.44/47.61 apply zenon_H9e6. apply refl_equal. % 47.44/47.61 elim (classic ((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5))))); [ zenon_intro zenon_H9e8 | zenon_intro zenon_H9e9 ]. % 47.44/47.61 cut (((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5)))) = ((e5) = (op (e4) (op (e5) (e5))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9e3. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9e8. % 47.44/47.61 cut (((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9e9]. % 47.44/47.61 cut (((op (e4) (op (e5) (e5))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H9ea]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e4) (e2)) = (e5)) = ((op (e4) (op (e5) (e5))) = (e5))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9ea. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb1. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((op (e4) (e2)) = (op (e4) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9eb]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5))))); [ zenon_intro zenon_H9e8 | zenon_intro zenon_H9e9 ]. % 47.44/47.61 cut (((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5)))) = ((op (e4) (e2)) = (op (e4) (op (e5) (e5))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9eb. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9e8. % 47.44/47.61 cut (((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9e9]. % 47.44/47.61 cut (((op (e4) (op (e5) (e5))) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9ec]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 exact (zenon_H100 zenon_Hf9). % 47.44/47.61 apply zenon_H9e9. apply refl_equal. % 47.44/47.61 apply zenon_H9e9. apply refl_equal. % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply zenon_H9e9. apply refl_equal. % 47.44/47.61 apply zenon_H9e9. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H9e1); [ zenon_intro zenon_H9ee | zenon_intro zenon_H9ed ]. % 47.44/47.61 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H59e]. % 47.44/47.61 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hd8 zenon_Hd1). % 47.44/47.61 apply zenon_H59e. apply sym_equal. exact zenon_H10. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H9ed); [ zenon_intro zenon_H9f0 | zenon_intro zenon_H9ef ]. % 47.44/47.61 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H416]. % 47.44/47.61 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hd8 zenon_Hd1). % 47.44/47.61 apply zenon_H416. apply sym_equal. exact zenon_H7. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H9ef); [ zenon_intro zenon_H9f2 | zenon_intro zenon_H9f1 ]. % 47.44/47.61 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H42c]. % 47.44/47.61 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hd8 zenon_Hd1). % 47.44/47.61 apply zenon_H42c. apply sym_equal. exact zenon_H2f. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H9f1); [ zenon_intro zenon_H9f4 | zenon_intro zenon_H9f3 ]. % 47.44/47.61 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H442]. % 47.44/47.61 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hd8 zenon_Hd1). % 47.44/47.61 apply zenon_H442. apply sym_equal. exact zenon_H38. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H9f3); [ zenon_intro zenon_H9f6 | zenon_intro zenon_H9f5 ]. % 47.44/47.61 cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H458]. % 47.44/47.61 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hd8 zenon_Hd1). % 47.44/47.61 apply zenon_H458. apply sym_equal. exact zenon_H1b. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H9f5); [ zenon_intro zenon_H9f8 | zenon_intro zenon_H9f7 ]. % 47.44/47.61 cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46e]. % 47.44/47.61 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hd8 zenon_Hd1). % 47.44/47.61 apply zenon_H46e. apply sym_equal. exact zenon_H26. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H9f7); [ zenon_intro zenon_H9fa | zenon_intro zenon_H9f9 ]. % 47.44/47.61 cut (((op (e3) (e0)) = (e3)) = ((op (op (e5) (e1)) (e0)) = (op (e5) (op (e1) (e0))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9fa. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H71. % 47.44/47.61 cut (((e3) = (op (e5) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H341]. % 47.44/47.61 cut (((op (e3) (e0)) = (op (op (e5) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9fb]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e1)) (e0)) = (op (op (e5) (e1)) (e0)))); [ zenon_intro zenon_H9fc | zenon_intro zenon_H9fd ]. % 47.44/47.61 cut (((op (op (e5) (e1)) (e0)) = (op (op (e5) (e1)) (e0))) = ((op (e3) (e0)) = (op (op (e5) (e1)) (e0)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_H9fb. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H9fc. % 47.44/47.61 cut (((op (op (e5) (e1)) (e0)) = (op (op (e5) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9fd]. % 47.44/47.61 cut (((op (op (e5) (e1)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9fe]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_He0 zenon_Hd9). % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply zenon_H9fd. apply refl_equal. % 47.44/47.61 apply zenon_H9fd. apply refl_equal. % 47.44/47.61 apply (zenon_L133_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H9f9); [ zenon_intro zenon_Ha00 | zenon_intro zenon_H9ff ]. % 47.44/47.61 cut (((op (e3) (e1)) = (e5)) = ((op (op (e5) (e1)) (e1)) = (op (e5) (op (e1) (e1))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha00. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H79. % 47.44/47.61 cut (((e5) = (op (e5) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H347]. % 47.44/47.61 cut (((op (e3) (e1)) = (op (op (e5) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha01]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e1)) (e1)) = (op (op (e5) (e1)) (e1)))); [ zenon_intro zenon_Ha02 | zenon_intro zenon_Ha03 ]. % 47.44/47.61 cut (((op (op (e5) (e1)) (e1)) = (op (op (e5) (e1)) (e1))) = ((op (e3) (e1)) = (op (op (e5) (e1)) (e1)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha01. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha02. % 47.44/47.61 cut (((op (op (e5) (e1)) (e1)) = (op (op (e5) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha03]. % 47.44/47.61 cut (((op (op (e5) (e1)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha04]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_He0 zenon_Hd9). % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply zenon_Ha03. apply refl_equal. % 47.44/47.61 apply zenon_Ha03. apply refl_equal. % 47.44/47.61 apply (zenon_L134_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_H9ff); [ zenon_intro zenon_Ha06 | zenon_intro zenon_Ha05 ]. % 47.44/47.61 cut (((op (e3) (e2)) = (e0)) = ((op (op (e5) (e1)) (e2)) = (op (e5) (op (e1) (e2))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha06. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H81. % 47.44/47.61 cut (((e0) = (op (e5) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H34d]. % 47.44/47.61 cut (((op (e3) (e2)) = (op (op (e5) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha07]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e1)) (e2)) = (op (op (e5) (e1)) (e2)))); [ zenon_intro zenon_Ha08 | zenon_intro zenon_Ha09 ]. % 47.44/47.61 cut (((op (op (e5) (e1)) (e2)) = (op (op (e5) (e1)) (e2))) = ((op (e3) (e2)) = (op (op (e5) (e1)) (e2)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha07. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha08. % 47.44/47.61 cut (((op (op (e5) (e1)) (e2)) = (op (op (e5) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha09]. % 47.44/47.61 cut (((op (op (e5) (e1)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha0a]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_He0 zenon_Hd9). % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply zenon_Ha09. apply refl_equal. % 47.44/47.61 apply zenon_Ha09. apply refl_equal. % 47.44/47.61 apply (zenon_L135_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha05); [ zenon_intro zenon_Ha0c | zenon_intro zenon_Ha0b ]. % 47.44/47.61 cut (((op (e3) (e3)) = (e2)) = ((op (op (e5) (e1)) (e3)) = (op (e5) (op (e1) (e3))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha0c. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H89. % 47.44/47.61 cut (((e2) = (op (e5) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H353]. % 47.44/47.61 cut (((op (e3) (e3)) = (op (op (e5) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha0d]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e1)) (e3)) = (op (op (e5) (e1)) (e3)))); [ zenon_intro zenon_Ha0e | zenon_intro zenon_Ha0f ]. % 47.44/47.61 cut (((op (op (e5) (e1)) (e3)) = (op (op (e5) (e1)) (e3))) = ((op (e3) (e3)) = (op (op (e5) (e1)) (e3)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha0d. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha0e. % 47.44/47.61 cut (((op (op (e5) (e1)) (e3)) = (op (op (e5) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha0f]. % 47.44/47.61 cut (((op (op (e5) (e1)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha10]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_He0 zenon_Hd9). % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply zenon_Ha0f. apply refl_equal. % 47.44/47.61 apply zenon_Ha0f. apply refl_equal. % 47.44/47.61 apply (zenon_L136_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha0b); [ zenon_intro zenon_Ha12 | zenon_intro zenon_Ha11 ]. % 47.44/47.61 cut (((op (e3) (e4)) = (e1)) = ((op (op (e5) (e1)) (e4)) = (op (e5) (op (e1) (e4))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha12. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H91. % 47.44/47.61 cut (((e1) = (op (e5) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H359]. % 47.44/47.61 cut (((op (e3) (e4)) = (op (op (e5) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha13]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e1)) (e4)) = (op (op (e5) (e1)) (e4)))); [ zenon_intro zenon_Ha14 | zenon_intro zenon_Ha15 ]. % 47.44/47.61 cut (((op (op (e5) (e1)) (e4)) = (op (op (e5) (e1)) (e4))) = ((op (e3) (e4)) = (op (op (e5) (e1)) (e4)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha13. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha14. % 47.44/47.61 cut (((op (op (e5) (e1)) (e4)) = (op (op (e5) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha15]. % 47.44/47.61 cut (((op (op (e5) (e1)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha16]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_He0 zenon_Hd9). % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply zenon_Ha15. apply refl_equal. % 47.44/47.61 apply zenon_Ha15. apply refl_equal. % 47.44/47.61 apply (zenon_L137_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha11); [ zenon_intro zenon_Ha18 | zenon_intro zenon_Ha17 ]. % 47.44/47.61 cut (((op (e3) (e5)) = (e4)) = ((op (op (e5) (e1)) (e5)) = (op (e5) (op (e1) (e5))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha18. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H99. % 47.44/47.61 cut (((e4) = (op (e5) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H35f]. % 47.44/47.61 cut (((op (e3) (e5)) = (op (op (e5) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha19]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e1)) (e5)) = (op (op (e5) (e1)) (e5)))); [ zenon_intro zenon_Ha1a | zenon_intro zenon_Ha1b ]. % 47.44/47.61 cut (((op (op (e5) (e1)) (e5)) = (op (op (e5) (e1)) (e5))) = ((op (e3) (e5)) = (op (op (e5) (e1)) (e5)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha19. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha1a. % 47.44/47.61 cut (((op (op (e5) (e1)) (e5)) = (op (op (e5) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha1b]. % 47.44/47.61 cut (((op (op (e5) (e1)) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha1c]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_He0 zenon_Hd9). % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply zenon_Ha1b. apply refl_equal. % 47.44/47.61 apply zenon_Ha1b. apply refl_equal. % 47.44/47.61 apply (zenon_L138_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha17); [ zenon_intro zenon_Ha1e | zenon_intro zenon_Ha1d ]. % 47.44/47.61 cut (((op (e1) (e0)) = (e1)) = ((op (op (e5) (e2)) (e0)) = (op (e5) (op (e2) (e0))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha1e. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H8. % 47.44/47.61 cut (((e1) = (op (e5) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H365]. % 47.44/47.61 cut (((op (e1) (e0)) = (op (op (e5) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha1f]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e2)) (e0)) = (op (op (e5) (e2)) (e0)))); [ zenon_intro zenon_Ha20 | zenon_intro zenon_Ha21 ]. % 47.44/47.61 cut (((op (op (e5) (e2)) (e0)) = (op (op (e5) (e2)) (e0))) = ((op (e1) (e0)) = (op (op (e5) (e2)) (e0)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha1f. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha20. % 47.44/47.61 cut (((op (op (e5) (e2)) (e0)) = (op (op (e5) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha21]. % 47.44/47.61 cut (((op (op (e5) (e2)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha22]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_He8 zenon_He1). % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply zenon_Ha21. apply refl_equal. % 47.44/47.61 apply zenon_Ha21. apply refl_equal. % 47.44/47.61 apply (zenon_L139_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha1d); [ zenon_intro zenon_Ha24 | zenon_intro zenon_Ha23 ]. % 47.44/47.61 cut (((op (e1) (e1)) = (e0)) = ((op (op (e5) (e2)) (e1)) = (op (e5) (op (e2) (e1))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha24. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H11. % 47.44/47.61 cut (((e0) = (op (e5) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H36b]. % 47.44/47.61 cut (((op (e1) (e1)) = (op (op (e5) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha25]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e2)) (e1)) = (op (op (e5) (e2)) (e1)))); [ zenon_intro zenon_Ha26 | zenon_intro zenon_Ha27 ]. % 47.44/47.61 cut (((op (op (e5) (e2)) (e1)) = (op (op (e5) (e2)) (e1))) = ((op (e1) (e1)) = (op (op (e5) (e2)) (e1)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha25. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha26. % 47.44/47.61 cut (((op (op (e5) (e2)) (e1)) = (op (op (e5) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha27]. % 47.44/47.61 cut (((op (op (e5) (e2)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha28]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_He8 zenon_He1). % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply zenon_Ha27. apply refl_equal. % 47.44/47.61 apply zenon_Ha27. apply refl_equal. % 47.44/47.61 apply (zenon_L140_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha23); [ zenon_intro zenon_Ha2a | zenon_intro zenon_Ha29 ]. % 47.44/47.61 cut (((op (e1) (e2)) = (e4)) = ((op (op (e5) (e2)) (e2)) = (op (e5) (op (e2) (e2))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha2a. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H1c. % 47.44/47.61 cut (((e4) = (op (e5) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H371]. % 47.44/47.61 cut (((op (e1) (e2)) = (op (op (e5) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha2b]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e2)) (e2)) = (op (op (e5) (e2)) (e2)))); [ zenon_intro zenon_Ha2c | zenon_intro zenon_Ha2d ]. % 47.44/47.61 cut (((op (op (e5) (e2)) (e2)) = (op (op (e5) (e2)) (e2))) = ((op (e1) (e2)) = (op (op (e5) (e2)) (e2)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha2b. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha2c. % 47.44/47.61 cut (((op (op (e5) (e2)) (e2)) = (op (op (e5) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha2d]. % 47.44/47.61 cut (((op (op (e5) (e2)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha2e]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_He8 zenon_He1). % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply zenon_Ha2d. apply refl_equal. % 47.44/47.61 apply zenon_Ha2d. apply refl_equal. % 47.44/47.61 apply (zenon_L141_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha29); [ zenon_intro zenon_Ha30 | zenon_intro zenon_Ha2f ]. % 47.44/47.61 cut (((op (e1) (e3)) = (e5)) = ((op (op (e5) (e2)) (e3)) = (op (e5) (op (e2) (e3))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha30. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H27. % 47.44/47.61 cut (((e5) = (op (e5) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H377]. % 47.44/47.61 cut (((op (e1) (e3)) = (op (op (e5) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha31]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e2)) (e3)) = (op (op (e5) (e2)) (e3)))); [ zenon_intro zenon_Ha32 | zenon_intro zenon_Ha33 ]. % 47.44/47.61 cut (((op (op (e5) (e2)) (e3)) = (op (op (e5) (e2)) (e3))) = ((op (e1) (e3)) = (op (op (e5) (e2)) (e3)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha31. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha32. % 47.44/47.61 cut (((op (op (e5) (e2)) (e3)) = (op (op (e5) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha33]. % 47.44/47.61 cut (((op (op (e5) (e2)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha34]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_He8 zenon_He1). % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply zenon_Ha33. apply refl_equal. % 47.44/47.61 apply zenon_Ha33. apply refl_equal. % 47.44/47.61 apply (zenon_L142_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha2f); [ zenon_intro zenon_Ha36 | zenon_intro zenon_Ha35 ]. % 47.44/47.61 cut (((op (e1) (e4)) = (e2)) = ((op (op (e5) (e2)) (e4)) = (op (e5) (op (e2) (e4))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha36. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H30. % 47.44/47.61 cut (((e2) = (op (e5) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H37d]. % 47.44/47.61 cut (((op (e1) (e4)) = (op (op (e5) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha37]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e2)) (e4)) = (op (op (e5) (e2)) (e4)))); [ zenon_intro zenon_Ha38 | zenon_intro zenon_Ha39 ]. % 47.44/47.61 cut (((op (op (e5) (e2)) (e4)) = (op (op (e5) (e2)) (e4))) = ((op (e1) (e4)) = (op (op (e5) (e2)) (e4)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha37. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha38. % 47.44/47.61 cut (((op (op (e5) (e2)) (e4)) = (op (op (e5) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha39]. % 47.44/47.61 cut (((op (op (e5) (e2)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha3a]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_He8 zenon_He1). % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply zenon_Ha39. apply refl_equal. % 47.44/47.61 apply zenon_Ha39. apply refl_equal. % 47.44/47.61 apply (zenon_L143_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha35); [ zenon_intro zenon_Ha3c | zenon_intro zenon_Ha3b ]. % 47.44/47.61 cut (((op (e1) (e5)) = (e3)) = ((op (op (e5) (e2)) (e5)) = (op (e5) (op (e2) (e5))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha3c. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H39. % 47.44/47.61 cut (((e3) = (op (e5) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H383]. % 47.44/47.61 cut (((op (e1) (e5)) = (op (op (e5) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha3d]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e2)) (e5)) = (op (op (e5) (e2)) (e5)))); [ zenon_intro zenon_Ha3e | zenon_intro zenon_Ha3f ]. % 47.44/47.61 cut (((op (op (e5) (e2)) (e5)) = (op (op (e5) (e2)) (e5))) = ((op (e1) (e5)) = (op (op (e5) (e2)) (e5)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha3d. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha3e. % 47.44/47.61 cut (((op (op (e5) (e2)) (e5)) = (op (op (e5) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha3f]. % 47.44/47.61 cut (((op (op (e5) (e2)) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha40]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_He8 zenon_He1). % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply zenon_Ha3f. apply refl_equal. % 47.44/47.61 apply zenon_Ha3f. apply refl_equal. % 47.44/47.61 apply (zenon_L144_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha3b); [ zenon_intro zenon_Ha42 | zenon_intro zenon_Ha41 ]. % 47.44/47.61 cut (((op (e4) (e0)) = (e4)) = ((op (op (e5) (e3)) (e0)) = (op (e5) (op (e3) (e0))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha42. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha1. % 47.44/47.61 cut (((e4) = (op (e5) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H389]. % 47.44/47.61 cut (((op (e4) (e0)) = (op (op (e5) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha43]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e3)) (e0)) = (op (op (e5) (e3)) (e0)))); [ zenon_intro zenon_Ha44 | zenon_intro zenon_Ha45 ]. % 47.44/47.61 cut (((op (op (e5) (e3)) (e0)) = (op (op (e5) (e3)) (e0))) = ((op (e4) (e0)) = (op (op (e5) (e3)) (e0)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha43. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha44. % 47.44/47.61 cut (((op (op (e5) (e3)) (e0)) = (op (op (e5) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha45]. % 47.44/47.61 cut (((op (op (e5) (e3)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha46]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hf0 zenon_He9). % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply zenon_Ha45. apply refl_equal. % 47.44/47.61 apply zenon_Ha45. apply refl_equal. % 47.44/47.61 apply (zenon_L145_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha41); [ zenon_intro zenon_Ha48 | zenon_intro zenon_Ha47 ]. % 47.44/47.61 cut (((op (e4) (e1)) = (e2)) = ((op (op (e5) (e3)) (e1)) = (op (e5) (op (e3) (e1))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha48. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha9. % 47.44/47.61 cut (((e2) = (op (e5) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H38f]. % 47.44/47.61 cut (((op (e4) (e1)) = (op (op (e5) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha49]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e3)) (e1)) = (op (op (e5) (e3)) (e1)))); [ zenon_intro zenon_Ha4a | zenon_intro zenon_Ha4b ]. % 47.44/47.61 cut (((op (op (e5) (e3)) (e1)) = (op (op (e5) (e3)) (e1))) = ((op (e4) (e1)) = (op (op (e5) (e3)) (e1)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha49. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha4a. % 47.44/47.61 cut (((op (op (e5) (e3)) (e1)) = (op (op (e5) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha4b]. % 47.44/47.61 cut (((op (op (e5) (e3)) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha4c]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hf0 zenon_He9). % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply zenon_Ha4b. apply refl_equal. % 47.44/47.61 apply zenon_Ha4b. apply refl_equal. % 47.44/47.61 apply (zenon_L146_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha47); [ zenon_intro zenon_Ha4e | zenon_intro zenon_Ha4d ]. % 47.44/47.61 cut (((op (e4) (e2)) = (e5)) = ((op (op (e5) (e3)) (e2)) = (op (e5) (op (e3) (e2))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha4e. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb1. % 47.44/47.61 cut (((e5) = (op (e5) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H395]. % 47.44/47.61 cut (((op (e4) (e2)) = (op (op (e5) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha4f]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e3)) (e2)) = (op (op (e5) (e3)) (e2)))); [ zenon_intro zenon_Ha50 | zenon_intro zenon_Ha51 ]. % 47.44/47.61 cut (((op (op (e5) (e3)) (e2)) = (op (op (e5) (e3)) (e2))) = ((op (e4) (e2)) = (op (op (e5) (e3)) (e2)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha4f. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha50. % 47.44/47.61 cut (((op (op (e5) (e3)) (e2)) = (op (op (e5) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha51]. % 47.44/47.61 cut (((op (op (e5) (e3)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha52]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hf0 zenon_He9). % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply zenon_Ha51. apply refl_equal. % 47.44/47.61 apply zenon_Ha51. apply refl_equal. % 47.44/47.61 apply (zenon_L147_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha4d); [ zenon_intro zenon_Ha54 | zenon_intro zenon_Ha53 ]. % 47.44/47.61 cut (((op (e4) (e3)) = (e1)) = ((op (op (e5) (e3)) (e3)) = (op (e5) (op (e3) (e3))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha54. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb9. % 47.44/47.61 cut (((e1) = (op (e5) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H39b]. % 47.44/47.61 cut (((op (e4) (e3)) = (op (op (e5) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha55]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e3)) (e3)) = (op (op (e5) (e3)) (e3)))); [ zenon_intro zenon_Ha56 | zenon_intro zenon_Ha57 ]. % 47.44/47.61 cut (((op (op (e5) (e3)) (e3)) = (op (op (e5) (e3)) (e3))) = ((op (e4) (e3)) = (op (op (e5) (e3)) (e3)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha55. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha56. % 47.44/47.61 cut (((op (op (e5) (e3)) (e3)) = (op (op (e5) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha57]. % 47.44/47.61 cut (((op (op (e5) (e3)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha58]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hf0 zenon_He9). % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply zenon_Ha57. apply refl_equal. % 47.44/47.61 apply zenon_Ha57. apply refl_equal. % 47.44/47.61 apply (zenon_L148_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha53); [ zenon_intro zenon_Ha5a | zenon_intro zenon_Ha59 ]. % 47.44/47.61 cut (((op (e4) (e4)) = (e3)) = ((op (op (e5) (e3)) (e4)) = (op (e5) (op (e3) (e4))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha5a. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hc1. % 47.44/47.61 cut (((e3) = (op (e5) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3a1]. % 47.44/47.61 cut (((op (e4) (e4)) = (op (op (e5) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha5b]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e3)) (e4)) = (op (op (e5) (e3)) (e4)))); [ zenon_intro zenon_Ha5c | zenon_intro zenon_Ha5d ]. % 47.44/47.61 cut (((op (op (e5) (e3)) (e4)) = (op (op (e5) (e3)) (e4))) = ((op (e4) (e4)) = (op (op (e5) (e3)) (e4)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha5b. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha5c. % 47.44/47.61 cut (((op (op (e5) (e3)) (e4)) = (op (op (e5) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha5d]. % 47.44/47.61 cut (((op (op (e5) (e3)) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha5e]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hf0 zenon_He9). % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply zenon_Ha5d. apply refl_equal. % 47.44/47.61 apply zenon_Ha5d. apply refl_equal. % 47.44/47.61 apply (zenon_L149_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha59); [ zenon_intro zenon_Ha60 | zenon_intro zenon_Ha5f ]. % 47.44/47.61 cut (((op (e4) (e5)) = (e0)) = ((op (op (e5) (e3)) (e5)) = (op (e5) (op (e3) (e5))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha60. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hc9. % 47.44/47.61 cut (((e0) = (op (e5) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3a7]. % 47.44/47.61 cut (((op (e4) (e5)) = (op (op (e5) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha61]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e3)) (e5)) = (op (op (e5) (e3)) (e5)))); [ zenon_intro zenon_Ha62 | zenon_intro zenon_Ha63 ]. % 47.44/47.61 cut (((op (op (e5) (e3)) (e5)) = (op (op (e5) (e3)) (e5))) = ((op (e4) (e5)) = (op (op (e5) (e3)) (e5)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha61. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha62. % 47.44/47.61 cut (((op (op (e5) (e3)) (e5)) = (op (op (e5) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha63]. % 47.44/47.61 cut (((op (op (e5) (e3)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha64]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hf0 zenon_He9). % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply zenon_Ha63. apply refl_equal. % 47.44/47.61 apply zenon_Ha63. apply refl_equal. % 47.44/47.61 apply (zenon_L150_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha5f); [ zenon_intro zenon_Ha66 | zenon_intro zenon_Ha65 ]. % 47.44/47.61 cut (((op (e0) (e0)) = (e0)) = ((op (op (e5) (e4)) (e0)) = (op (e5) (op (e4) (e0))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha66. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H10. % 47.44/47.61 cut (((e0) = (op (e5) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha67]. % 47.44/47.61 cut (((op (e0) (e0)) = (op (op (e5) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha68]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e4)) (e0)) = (op (op (e5) (e4)) (e0)))); [ zenon_intro zenon_Ha69 | zenon_intro zenon_Ha6a ]. % 47.44/47.61 cut (((op (op (e5) (e4)) (e0)) = (op (op (e5) (e4)) (e0))) = ((op (e0) (e0)) = (op (op (e5) (e4)) (e0)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha68. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha69. % 47.44/47.61 cut (((op (op (e5) (e4)) (e0)) = (op (op (e5) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha6a]. % 47.44/47.61 cut (((op (op (e5) (e4)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha6b]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hf8 zenon_Hf1). % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply zenon_Ha6a. apply refl_equal. % 47.44/47.61 apply zenon_Ha6a. apply refl_equal. % 47.44/47.61 elim (classic ((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0))))); [ zenon_intro zenon_Ha6c | zenon_intro zenon_Ha6d ]. % 47.44/47.61 cut (((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0)))) = ((e0) = (op (e5) (op (e4) (e0))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha67. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha6c. % 47.44/47.61 cut (((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha6d]. % 47.44/47.61 cut (((op (e5) (op (e4) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Ha6e]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e5) (e4)) = (e0)) = ((op (e5) (op (e4) (e0))) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha6e. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hf1. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e5) (e4)) = (op (e5) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha6f]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0))))); [ zenon_intro zenon_Ha6c | zenon_intro zenon_Ha6d ]. % 47.44/47.61 cut (((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0)))) = ((op (e5) (e4)) = (op (e5) (op (e4) (e0))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha6f. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha6c. % 47.44/47.61 cut (((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha6d]. % 47.44/47.61 cut (((op (e5) (op (e4) (e0))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha70]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 exact (zenon_Ha8 zenon_Ha1). % 47.44/47.61 apply zenon_Ha6d. apply refl_equal. % 47.44/47.61 apply zenon_Ha6d. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply zenon_Ha6d. apply refl_equal. % 47.44/47.61 apply zenon_Ha6d. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha65); [ zenon_intro zenon_Ha72 | zenon_intro zenon_Ha71 ]. % 47.44/47.61 cut (((op (e0) (e1)) = (e1)) = ((op (op (e5) (e4)) (e1)) = (op (e5) (op (e4) (e1))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha72. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H7. % 47.44/47.61 cut (((e1) = (op (e5) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha73]. % 47.44/47.61 cut (((op (e0) (e1)) = (op (op (e5) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha74]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e4)) (e1)) = (op (op (e5) (e4)) (e1)))); [ zenon_intro zenon_Ha75 | zenon_intro zenon_Ha76 ]. % 47.44/47.61 cut (((op (op (e5) (e4)) (e1)) = (op (op (e5) (e4)) (e1))) = ((op (e0) (e1)) = (op (op (e5) (e4)) (e1)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha74. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha75. % 47.44/47.61 cut (((op (op (e5) (e4)) (e1)) = (op (op (e5) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha76]. % 47.44/47.61 cut (((op (op (e5) (e4)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha77]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hf8 zenon_Hf1). % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply zenon_Ha76. apply refl_equal. % 47.44/47.61 apply zenon_Ha76. apply refl_equal. % 47.44/47.61 elim (classic ((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1))))); [ zenon_intro zenon_Ha78 | zenon_intro zenon_Ha79 ]. % 47.44/47.61 cut (((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1)))) = ((e1) = (op (e5) (op (e4) (e1))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha73. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha78. % 47.44/47.61 cut (((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha79]. % 47.44/47.61 cut (((op (e5) (op (e4) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Ha7a]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e5) (e2)) = (e1)) = ((op (e5) (op (e4) (e1))) = (e1))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha7a. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_He1. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((op (e5) (e2)) = (op (e5) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha7b]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1))))); [ zenon_intro zenon_Ha78 | zenon_intro zenon_Ha79 ]. % 47.44/47.61 cut (((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1)))) = ((op (e5) (e2)) = (op (e5) (op (e4) (e1))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha7b. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha78. % 47.44/47.61 cut (((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha79]. % 47.44/47.61 cut (((op (e5) (op (e4) (e1))) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha7c]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 exact (zenon_Hb0 zenon_Ha9). % 47.44/47.61 apply zenon_Ha79. apply refl_equal. % 47.44/47.61 apply zenon_Ha79. apply refl_equal. % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply zenon_Ha79. apply refl_equal. % 47.44/47.61 apply zenon_Ha79. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha71); [ zenon_intro zenon_Ha7e | zenon_intro zenon_Ha7d ]. % 47.44/47.61 cut (((op (e0) (e2)) = (e2)) = ((op (op (e5) (e4)) (e2)) = (op (e5) (op (e4) (e2))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha7e. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H2f. % 47.44/47.61 cut (((e2) = (op (e5) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Ha7f]. % 47.44/47.61 cut (((op (e0) (e2)) = (op (op (e5) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha80]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e4)) (e2)) = (op (op (e5) (e4)) (e2)))); [ zenon_intro zenon_Ha81 | zenon_intro zenon_Ha82 ]. % 47.44/47.61 cut (((op (op (e5) (e4)) (e2)) = (op (op (e5) (e4)) (e2))) = ((op (e0) (e2)) = (op (op (e5) (e4)) (e2)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha80. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha81. % 47.44/47.61 cut (((op (op (e5) (e4)) (e2)) = (op (op (e5) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha82]. % 47.44/47.61 cut (((op (op (e5) (e4)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha83]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hf8 zenon_Hf1). % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply zenon_Ha82. apply refl_equal. % 47.44/47.61 apply zenon_Ha82. apply refl_equal. % 47.44/47.61 elim (classic ((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2))))); [ zenon_intro zenon_Ha84 | zenon_intro zenon_Ha85 ]. % 47.44/47.61 cut (((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2)))) = ((e2) = (op (e5) (op (e4) (e2))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha7f. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha84. % 47.44/47.61 cut (((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Ha85]. % 47.44/47.61 cut (((op (e5) (op (e4) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha86]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e5) (e5)) = (e2)) = ((op (e5) (op (e4) (e2))) = (e2))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha86. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hf9. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((op (e5) (e5)) = (op (e5) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Ha87]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2))))); [ zenon_intro zenon_Ha84 | zenon_intro zenon_Ha85 ]. % 47.44/47.61 cut (((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2)))) = ((op (e5) (e5)) = (op (e5) (op (e4) (e2))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha87. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha84. % 47.44/47.61 cut (((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Ha85]. % 47.44/47.61 cut (((op (e5) (op (e4) (e2))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha88]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 exact (zenon_Hb8 zenon_Hb1). % 47.44/47.61 apply zenon_Ha85. apply refl_equal. % 47.44/47.61 apply zenon_Ha85. apply refl_equal. % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply zenon_Ha85. apply refl_equal. % 47.44/47.61 apply zenon_Ha85. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha7d); [ zenon_intro zenon_Ha8a | zenon_intro zenon_Ha89 ]. % 47.44/47.61 cut (((op (e0) (e3)) = (e3)) = ((op (op (e5) (e4)) (e3)) = (op (e5) (op (e4) (e3))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha8a. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H38. % 47.44/47.61 cut (((e3) = (op (e5) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Ha8b]. % 47.44/47.61 cut (((op (e0) (e3)) = (op (op (e5) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha8c]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e4)) (e3)) = (op (op (e5) (e4)) (e3)))); [ zenon_intro zenon_Ha8d | zenon_intro zenon_Ha8e ]. % 47.44/47.61 cut (((op (op (e5) (e4)) (e3)) = (op (op (e5) (e4)) (e3))) = ((op (e0) (e3)) = (op (op (e5) (e4)) (e3)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha8c. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha8d. % 47.44/47.61 cut (((op (op (e5) (e4)) (e3)) = (op (op (e5) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha8e]. % 47.44/47.61 cut (((op (op (e5) (e4)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha8f]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hf8 zenon_Hf1). % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply zenon_Ha8e. apply refl_equal. % 47.44/47.61 apply zenon_Ha8e. apply refl_equal. % 47.44/47.61 elim (classic ((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3))))); [ zenon_intro zenon_Ha90 | zenon_intro zenon_Ha91 ]. % 47.44/47.61 cut (((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3)))) = ((e3) = (op (e5) (op (e4) (e3))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha8b. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha90. % 47.44/47.61 cut (((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Ha91]. % 47.44/47.61 cut (((op (e5) (op (e4) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Ha92]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e5) (e1)) = (e3)) = ((op (e5) (op (e4) (e3))) = (e3))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha92. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hd9. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((op (e5) (e1)) = (op (e5) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Ha93]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3))))); [ zenon_intro zenon_Ha90 | zenon_intro zenon_Ha91 ]. % 47.44/47.61 cut (((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3)))) = ((op (e5) (e1)) = (op (e5) (op (e4) (e3))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha93. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha90. % 47.44/47.61 cut (((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Ha91]. % 47.44/47.61 cut (((op (e5) (op (e4) (e3))) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha94]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 exact (zenon_Hc0 zenon_Hb9). % 47.44/47.61 apply zenon_Ha91. apply refl_equal. % 47.44/47.61 apply zenon_Ha91. apply refl_equal. % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply zenon_Ha91. apply refl_equal. % 47.44/47.61 apply zenon_Ha91. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha89); [ zenon_intro zenon_Ha96 | zenon_intro zenon_Ha95 ]. % 47.44/47.61 cut (((op (e0) (e4)) = (e4)) = ((op (op (e5) (e4)) (e4)) = (op (e5) (op (e4) (e4))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha96. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H1b. % 47.44/47.61 cut (((e4) = (op (e5) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Ha97]. % 47.44/47.61 cut (((op (e0) (e4)) = (op (op (e5) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha98]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e4)) (e4)) = (op (op (e5) (e4)) (e4)))); [ zenon_intro zenon_Ha99 | zenon_intro zenon_Ha9a ]. % 47.44/47.61 cut (((op (op (e5) (e4)) (e4)) = (op (op (e5) (e4)) (e4))) = ((op (e0) (e4)) = (op (op (e5) (e4)) (e4)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha98. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha99. % 47.44/47.61 cut (((op (op (e5) (e4)) (e4)) = (op (op (e5) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha9a]. % 47.44/47.61 cut (((op (op (e5) (e4)) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha9b]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hf8 zenon_Hf1). % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply zenon_Ha9a. apply refl_equal. % 47.44/47.61 apply zenon_Ha9a. apply refl_equal. % 47.44/47.61 elim (classic ((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4))))); [ zenon_intro zenon_Ha9c | zenon_intro zenon_Ha9d ]. % 47.44/47.61 cut (((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4)))) = ((e4) = (op (e5) (op (e4) (e4))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha97. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha9c. % 47.44/47.61 cut (((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Ha9d]. % 47.44/47.61 cut (((op (e5) (op (e4) (e4))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha9e]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e5) (e3)) = (e4)) = ((op (e5) (op (e4) (e4))) = (e4))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha9e. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_He9. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((op (e5) (e3)) = (op (e5) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Ha9f]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4))))); [ zenon_intro zenon_Ha9c | zenon_intro zenon_Ha9d ]. % 47.44/47.61 cut (((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4)))) = ((op (e5) (e3)) = (op (e5) (op (e4) (e4))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Ha9f. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha9c. % 47.44/47.61 cut (((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Ha9d]. % 47.44/47.61 cut (((op (e5) (op (e4) (e4))) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Haa0]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 exact (zenon_Hc8 zenon_Hc1). % 47.44/47.61 apply zenon_Ha9d. apply refl_equal. % 47.44/47.61 apply zenon_Ha9d. apply refl_equal. % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply zenon_Ha9d. apply refl_equal. % 47.44/47.61 apply zenon_Ha9d. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Ha95); [ zenon_intro zenon_Haa2 | zenon_intro zenon_Haa1 ]. % 47.44/47.61 cut (((op (e0) (e5)) = (e5)) = ((op (op (e5) (e4)) (e5)) = (op (e5) (op (e4) (e5))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Haa2. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H26. % 47.44/47.61 cut (((e5) = (op (e5) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Haa3]. % 47.44/47.61 cut (((op (e0) (e5)) = (op (op (e5) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Haa4]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e4)) (e5)) = (op (op (e5) (e4)) (e5)))); [ zenon_intro zenon_Haa5 | zenon_intro zenon_Haa6 ]. % 47.44/47.61 cut (((op (op (e5) (e4)) (e5)) = (op (op (e5) (e4)) (e5))) = ((op (e0) (e5)) = (op (op (e5) (e4)) (e5)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Haa4. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Haa5. % 47.44/47.61 cut (((op (op (e5) (e4)) (e5)) = (op (op (e5) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Haa6]. % 47.44/47.61 cut (((op (op (e5) (e4)) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Haa7]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hf8 zenon_Hf1). % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply zenon_Haa6. apply refl_equal. % 47.44/47.61 apply zenon_Haa6. apply refl_equal. % 47.44/47.61 elim (classic ((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5))))); [ zenon_intro zenon_Haa8 | zenon_intro zenon_Haa9 ]. % 47.44/47.61 cut (((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5)))) = ((e5) = (op (e5) (op (e4) (e5))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Haa3. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Haa8. % 47.44/47.61 cut (((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Haa9]. % 47.44/47.61 cut (((op (e5) (op (e4) (e5))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Haaa]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e5) (e0)) = (e5)) = ((op (e5) (op (e4) (e5))) = (e5))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Haaa. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hd1. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((op (e5) (e0)) = (op (e5) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Haab]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5))))); [ zenon_intro zenon_Haa8 | zenon_intro zenon_Haa9 ]. % 47.44/47.61 cut (((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5)))) = ((op (e5) (e0)) = (op (e5) (op (e4) (e5))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Haab. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Haa8. % 47.44/47.61 cut (((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Haa9]. % 47.44/47.61 cut (((op (e5) (op (e4) (e5))) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Haac]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 exact (zenon_Hd0 zenon_Hc9). % 47.44/47.61 apply zenon_Haa9. apply refl_equal. % 47.44/47.61 apply zenon_Haa9. apply refl_equal. % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply zenon_Haa9. apply refl_equal. % 47.44/47.61 apply zenon_Haa9. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Haa1); [ zenon_intro zenon_Haae | zenon_intro zenon_Haad ]. % 47.44/47.61 cut (((op (e2) (e0)) = (e2)) = ((op (op (e5) (e5)) (e0)) = (op (e5) (op (e5) (e0))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Haae. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H41. % 47.44/47.61 cut (((e2) = (op (e5) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H3ad]. % 47.44/47.61 cut (((op (e2) (e0)) = (op (op (e5) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Haaf]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e5)) (e0)) = (op (op (e5) (e5)) (e0)))); [ zenon_intro zenon_Hab0 | zenon_intro zenon_Hab1 ]. % 47.44/47.61 cut (((op (op (e5) (e5)) (e0)) = (op (op (e5) (e5)) (e0))) = ((op (e2) (e0)) = (op (op (e5) (e5)) (e0)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Haaf. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hab0. % 47.44/47.61 cut (((op (op (e5) (e5)) (e0)) = (op (op (e5) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hab1]. % 47.44/47.61 cut (((op (op (e5) (e5)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hab2]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_H100 zenon_Hf9). % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply zenon_Hab1. apply refl_equal. % 47.44/47.61 apply zenon_Hab1. apply refl_equal. % 47.44/47.61 apply (zenon_L151_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Haad); [ zenon_intro zenon_Hab4 | zenon_intro zenon_Hab3 ]. % 47.44/47.61 cut (((op (e2) (e1)) = (e4)) = ((op (op (e5) (e5)) (e1)) = (op (e5) (op (e5) (e1))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hab4. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H49. % 47.44/47.61 cut (((e4) = (op (e5) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H3b3]. % 47.44/47.61 cut (((op (e2) (e1)) = (op (op (e5) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hab5]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e5)) (e1)) = (op (op (e5) (e5)) (e1)))); [ zenon_intro zenon_Hab6 | zenon_intro zenon_Hab7 ]. % 47.44/47.61 cut (((op (op (e5) (e5)) (e1)) = (op (op (e5) (e5)) (e1))) = ((op (e2) (e1)) = (op (op (e5) (e5)) (e1)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hab5. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hab6. % 47.44/47.61 cut (((op (op (e5) (e5)) (e1)) = (op (op (e5) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hab7]. % 47.44/47.61 cut (((op (op (e5) (e5)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hab8]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_H100 zenon_Hf9). % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply zenon_Hab7. apply refl_equal. % 47.44/47.61 apply zenon_Hab7. apply refl_equal. % 47.44/47.61 apply (zenon_L152_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hab3); [ zenon_intro zenon_Haba | zenon_intro zenon_Hab9 ]. % 47.44/47.61 cut (((op (e2) (e2)) = (e3)) = ((op (op (e5) (e5)) (e2)) = (op (e5) (op (e5) (e2))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Haba. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H51. % 47.44/47.61 cut (((e3) = (op (e5) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H3b9]. % 47.44/47.61 cut (((op (e2) (e2)) = (op (op (e5) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Habb]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e5)) (e2)) = (op (op (e5) (e5)) (e2)))); [ zenon_intro zenon_Habc | zenon_intro zenon_Habd ]. % 47.44/47.61 cut (((op (op (e5) (e5)) (e2)) = (op (op (e5) (e5)) (e2))) = ((op (e2) (e2)) = (op (op (e5) (e5)) (e2)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Habb. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Habc. % 47.44/47.61 cut (((op (op (e5) (e5)) (e2)) = (op (op (e5) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Habd]. % 47.44/47.61 cut (((op (op (e5) (e5)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Habe]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_H100 zenon_Hf9). % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply zenon_Habd. apply refl_equal. % 47.44/47.61 apply zenon_Habd. apply refl_equal. % 47.44/47.61 apply (zenon_L153_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hab9); [ zenon_intro zenon_Hac0 | zenon_intro zenon_Habf ]. % 47.44/47.61 cut (((op (e2) (e3)) = (e0)) = ((op (op (e5) (e5)) (e3)) = (op (e5) (op (e5) (e3))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hac0. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H59. % 47.44/47.61 cut (((e0) = (op (e5) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H3bf]. % 47.44/47.61 cut (((op (e2) (e3)) = (op (op (e5) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hac1]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e5)) (e3)) = (op (op (e5) (e5)) (e3)))); [ zenon_intro zenon_Hac2 | zenon_intro zenon_Hac3 ]. % 47.44/47.61 cut (((op (op (e5) (e5)) (e3)) = (op (op (e5) (e5)) (e3))) = ((op (e2) (e3)) = (op (op (e5) (e5)) (e3)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hac1. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hac2. % 47.44/47.61 cut (((op (op (e5) (e5)) (e3)) = (op (op (e5) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hac3]. % 47.44/47.61 cut (((op (op (e5) (e5)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hac4]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_H100 zenon_Hf9). % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply zenon_Hac3. apply refl_equal. % 47.44/47.61 apply zenon_Hac3. apply refl_equal. % 47.44/47.61 apply (zenon_L154_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Habf); [ zenon_intro zenon_Hac6 | zenon_intro zenon_Hac5 ]. % 47.44/47.61 cut (((op (e2) (e4)) = (e5)) = ((op (op (e5) (e5)) (e4)) = (op (e5) (op (e5) (e4))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hac6. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H61. % 47.44/47.61 cut (((e5) = (op (e5) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3c5]. % 47.44/47.61 cut (((op (e2) (e4)) = (op (op (e5) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hac7]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e5)) (e4)) = (op (op (e5) (e5)) (e4)))); [ zenon_intro zenon_Hac8 | zenon_intro zenon_Hac9 ]. % 47.44/47.61 cut (((op (op (e5) (e5)) (e4)) = (op (op (e5) (e5)) (e4))) = ((op (e2) (e4)) = (op (op (e5) (e5)) (e4)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hac7. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hac8. % 47.44/47.61 cut (((op (op (e5) (e5)) (e4)) = (op (op (e5) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hac9]. % 47.44/47.61 cut (((op (op (e5) (e5)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Haca]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_H100 zenon_Hf9). % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply zenon_Hac9. apply refl_equal. % 47.44/47.61 apply zenon_Hac9. apply refl_equal. % 47.44/47.61 apply (zenon_L155_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hac5); [ zenon_intro zenon_Hacc | zenon_intro zenon_Hacb ]. % 47.44/47.61 cut (((op (e2) (e5)) = (e1)) = ((op (op (e5) (e5)) (e5)) = (op (e5) (op (e5) (e5))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hacc. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H69. % 47.44/47.61 cut (((e1) = (op (e5) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3cb]. % 47.44/47.61 cut (((op (e2) (e5)) = (op (op (e5) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hacd]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (op (e5) (e5)) (e5)) = (op (op (e5) (e5)) (e5)))); [ zenon_intro zenon_Hace | zenon_intro zenon_Hacf ]. % 47.44/47.61 cut (((op (op (e5) (e5)) (e5)) = (op (op (e5) (e5)) (e5))) = ((op (e2) (e5)) = (op (op (e5) (e5)) (e5)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hacd. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hace. % 47.44/47.61 cut (((op (op (e5) (e5)) (e5)) = (op (op (e5) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hacf]. % 47.44/47.61 cut (((op (op (e5) (e5)) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Had0]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_H100 zenon_Hf9). % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply zenon_Hacf. apply refl_equal. % 47.44/47.61 apply zenon_Hacf. apply refl_equal. % 47.44/47.61 apply (zenon_L156_); trivial. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hacb); [ zenon_intro zenon_Had2 | zenon_intro zenon_Had1 ]. % 47.44/47.61 cut (((op (e0) (e0)) = (e0)) = ((op (unit) (e0)) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Had2. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H10. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e0) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Had3]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (unit) (e0)) = (op (unit) (e0)))); [ zenon_intro zenon_Had4 | zenon_intro zenon_Had5 ]. % 47.44/47.61 cut (((op (unit) (e0)) = (op (unit) (e0))) = ((op (e0) (e0)) = (op (unit) (e0)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Had3. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Had4. % 47.44/47.61 cut (((op (unit) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Had5]. % 47.44/47.61 cut (((op (unit) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Had6]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_H3d1 ax3). % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply zenon_Had5. apply refl_equal. % 47.44/47.61 apply zenon_Had5. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Had1); [ zenon_intro zenon_Had8 | zenon_intro zenon_Had7 ]. % 47.44/47.61 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (unit)) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Had8. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H10. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e0) (e0)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Had9]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e0) (unit)) = (op (e0) (unit)))); [ zenon_intro zenon_Hada | zenon_intro zenon_Hadb ]. % 47.44/47.61 cut (((op (e0) (unit)) = (op (e0) (unit))) = ((op (e0) (e0)) = (op (e0) (unit)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Had9. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hada. % 47.44/47.61 cut (((op (e0) (unit)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hadb]. % 47.44/47.61 cut (((op (e0) (unit)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hadc]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 exact (zenon_H3d1 ax3). % 47.44/47.61 apply zenon_Hadb. apply refl_equal. % 47.44/47.61 apply zenon_Hadb. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Had7); [ zenon_intro zenon_Hade | zenon_intro zenon_Hadd ]. % 47.44/47.61 cut (((op (e0) (e1)) = (e1)) = ((op (unit) (e1)) = (e1))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hade. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H7. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((op (e0) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hadf]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (unit) (e1)) = (op (unit) (e1)))); [ zenon_intro zenon_Hae0 | zenon_intro zenon_Hae1 ]. % 47.44/47.61 cut (((op (unit) (e1)) = (op (unit) (e1))) = ((op (e0) (e1)) = (op (unit) (e1)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hadf. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hae0. % 47.44/47.61 cut (((op (unit) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hae1]. % 47.44/47.61 cut (((op (unit) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hae2]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_H3d1 ax3). % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply zenon_Hae1. apply refl_equal. % 47.44/47.61 apply zenon_Hae1. apply refl_equal. % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hadd); [ zenon_intro zenon_Hae4 | zenon_intro zenon_Hae3 ]. % 47.44/47.61 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (unit)) = (e1))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hae4. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H8. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((op (e1) (e0)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hae5]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e1) (unit)) = (op (e1) (unit)))); [ zenon_intro zenon_Hae6 | zenon_intro zenon_Hae7 ]. % 47.44/47.61 cut (((op (e1) (unit)) = (op (e1) (unit))) = ((op (e1) (e0)) = (op (e1) (unit)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hae5. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hae6. % 47.44/47.61 cut (((op (e1) (unit)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hae7]. % 47.44/47.61 cut (((op (e1) (unit)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hae8]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 exact (zenon_H3d1 ax3). % 47.44/47.61 apply zenon_Hae7. apply refl_equal. % 47.44/47.61 apply zenon_Hae7. apply refl_equal. % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hae3); [ zenon_intro zenon_Haea | zenon_intro zenon_Hae9 ]. % 47.44/47.61 cut (((op (e0) (e2)) = (e2)) = ((op (unit) (e2)) = (e2))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Haea. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H2f. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((op (e0) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Haeb]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (unit) (e2)) = (op (unit) (e2)))); [ zenon_intro zenon_Haec | zenon_intro zenon_Haed ]. % 47.44/47.61 cut (((op (unit) (e2)) = (op (unit) (e2))) = ((op (e0) (e2)) = (op (unit) (e2)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Haeb. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Haec. % 47.44/47.61 cut (((op (unit) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Haed]. % 47.44/47.61 cut (((op (unit) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Haee]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_H3d1 ax3). % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply zenon_Haed. apply refl_equal. % 47.44/47.61 apply zenon_Haed. apply refl_equal. % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hae9); [ zenon_intro zenon_Haf0 | zenon_intro zenon_Haef ]. % 47.44/47.61 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (unit)) = (e2))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Haf0. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H41. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((op (e2) (e0)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Haf1]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e2) (unit)) = (op (e2) (unit)))); [ zenon_intro zenon_Haf2 | zenon_intro zenon_Haf3 ]. % 47.44/47.61 cut (((op (e2) (unit)) = (op (e2) (unit))) = ((op (e2) (e0)) = (op (e2) (unit)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Haf1. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Haf2. % 47.44/47.61 cut (((op (e2) (unit)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Haf3]. % 47.44/47.61 cut (((op (e2) (unit)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Haf4]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 exact (zenon_H3d1 ax3). % 47.44/47.61 apply zenon_Haf3. apply refl_equal. % 47.44/47.61 apply zenon_Haf3. apply refl_equal. % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Haef); [ zenon_intro zenon_Haf6 | zenon_intro zenon_Haf5 ]. % 47.44/47.61 cut (((op (e0) (e3)) = (e3)) = ((op (unit) (e3)) = (e3))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Haf6. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H38. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((op (e0) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Haf7]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (unit) (e3)) = (op (unit) (e3)))); [ zenon_intro zenon_Haf8 | zenon_intro zenon_Haf9 ]. % 47.44/47.61 cut (((op (unit) (e3)) = (op (unit) (e3))) = ((op (e0) (e3)) = (op (unit) (e3)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Haf7. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Haf8. % 47.44/47.61 cut (((op (unit) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Haf9]. % 47.44/47.61 cut (((op (unit) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hafa]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_H3d1 ax3). % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply zenon_Haf9. apply refl_equal. % 47.44/47.61 apply zenon_Haf9. apply refl_equal. % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Haf5); [ zenon_intro zenon_Hafc | zenon_intro zenon_Hafb ]. % 47.44/47.61 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (unit)) = (e3))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hafc. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H71. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((op (e3) (e0)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hafd]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e3) (unit)) = (op (e3) (unit)))); [ zenon_intro zenon_Hafe | zenon_intro zenon_Haff ]. % 47.44/47.61 cut (((op (e3) (unit)) = (op (e3) (unit))) = ((op (e3) (e0)) = (op (e3) (unit)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hafd. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hafe. % 47.44/47.61 cut (((op (e3) (unit)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Haff]. % 47.44/47.61 cut (((op (e3) (unit)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hb00]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 exact (zenon_H3d1 ax3). % 47.44/47.61 apply zenon_Haff. apply refl_equal. % 47.44/47.61 apply zenon_Haff. apply refl_equal. % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hafb); [ zenon_intro zenon_Hb02 | zenon_intro zenon_Hb01 ]. % 47.44/47.61 cut (((op (e0) (e4)) = (e4)) = ((op (unit) (e4)) = (e4))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb02. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H1b. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((op (e0) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb03]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (unit) (e4)) = (op (unit) (e4)))); [ zenon_intro zenon_Hb04 | zenon_intro zenon_Hb05 ]. % 47.44/47.61 cut (((op (unit) (e4)) = (op (unit) (e4))) = ((op (e0) (e4)) = (op (unit) (e4)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb03. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb04. % 47.44/47.61 cut (((op (unit) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb05]. % 47.44/47.61 cut (((op (unit) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb06]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_H3d1 ax3). % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply zenon_Hb05. apply refl_equal. % 47.44/47.61 apply zenon_Hb05. apply refl_equal. % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb01); [ zenon_intro zenon_Hb08 | zenon_intro zenon_Hb07 ]. % 47.44/47.61 cut (((op (e4) (e0)) = (e4)) = ((op (e4) (unit)) = (e4))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb08. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Ha1. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((op (e4) (e0)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hb09]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e4) (unit)) = (op (e4) (unit)))); [ zenon_intro zenon_Hb0a | zenon_intro zenon_Hb0b ]. % 47.44/47.61 cut (((op (e4) (unit)) = (op (e4) (unit))) = ((op (e4) (e0)) = (op (e4) (unit)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb09. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb0a. % 47.44/47.61 cut (((op (e4) (unit)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hb0b]. % 47.44/47.61 cut (((op (e4) (unit)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hb0c]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 exact (zenon_H3d1 ax3). % 47.44/47.61 apply zenon_Hb0b. apply refl_equal. % 47.44/47.61 apply zenon_Hb0b. apply refl_equal. % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb07); [ zenon_intro zenon_Hb0e | zenon_intro zenon_Hb0d ]. % 47.44/47.61 cut (((op (e0) (e5)) = (e5)) = ((op (unit) (e5)) = (e5))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb0e. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H26. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((op (e0) (e5)) = (op (unit) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb0f]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (unit) (e5)) = (op (unit) (e5)))); [ zenon_intro zenon_Hb10 | zenon_intro zenon_Hb11 ]. % 47.44/47.61 cut (((op (unit) (e5)) = (op (unit) (e5))) = ((op (e0) (e5)) = (op (unit) (e5)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb0f. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb10. % 47.44/47.61 cut (((op (unit) (e5)) = (op (unit) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb11]. % 47.44/47.61 cut (((op (unit) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb12]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_H3d1 ax3). % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply zenon_Hb11. apply refl_equal. % 47.44/47.61 apply zenon_Hb11. apply refl_equal. % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb0d); [ zenon_intro zenon_Hb14 | zenon_intro zenon_Hb13 ]. % 47.44/47.61 cut (((op (e5) (e0)) = (e5)) = ((op (e5) (unit)) = (e5))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb14. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hd1. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((op (e5) (e0)) = (op (e5) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hb15]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e5) (unit)) = (op (e5) (unit)))); [ zenon_intro zenon_Hb16 | zenon_intro zenon_Hb17 ]. % 47.44/47.61 cut (((op (e5) (unit)) = (op (e5) (unit))) = ((op (e5) (e0)) = (op (e5) (unit)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb15. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb16. % 47.44/47.61 cut (((op (e5) (unit)) = (op (e5) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hb17]. % 47.44/47.61 cut (((op (e5) (unit)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hb18]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 exact (zenon_H3d1 ax3). % 47.44/47.61 apply zenon_Hb17. apply refl_equal. % 47.44/47.61 apply zenon_Hb17. apply refl_equal. % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb13); [ zenon_intro zenon_Hb1a | zenon_intro zenon_Hb19 ]. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb1a). zenon_intro zenon_H3d1. zenon_intro zenon_Hb1b. % 47.44/47.61 exact (zenon_H3d1 ax3). % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb19); [ zenon_intro zenon_Hb1d | zenon_intro zenon_Hb1c ]. % 47.44/47.61 apply (zenon_congruence_lr_s _ (fun zenon_Vh : _ => (~((op (e0) (inv (e0))) = zenon_Vh))) _ _ zenon_Hb1d ax3). zenon_intro zenon_Hb1e. % 47.44/47.61 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (inv (e0))) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb1e. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H10. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e0) (e0)) = (op (e0) (inv (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hb1f]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e0) (inv (e0))) = (op (e0) (inv (e0))))); [ zenon_intro zenon_Hb20 | zenon_intro zenon_Hb21 ]. % 47.44/47.61 cut (((op (e0) (inv (e0))) = (op (e0) (inv (e0)))) = ((op (e0) (e0)) = (op (e0) (inv (e0))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb1f. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb20. % 47.44/47.61 cut (((op (e0) (inv (e0))) = (op (e0) (inv (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hb21]. % 47.44/47.61 cut (((op (e0) (inv (e0))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hb22]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((inv (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hb23]. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 exact (zenon_Hb23 zenon_H3f5). % 47.44/47.61 apply zenon_Hb21. apply refl_equal. % 47.44/47.61 apply zenon_Hb21. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb1c); [ zenon_intro zenon_Hb25 | zenon_intro zenon_Hb24 ]. % 47.44/47.61 apply (zenon_congruence_lr_s _ (fun zenon_Vj : _ => (~((op (inv (e0)) (e0)) = zenon_Vj))) _ _ zenon_Hb25 ax3). zenon_intro zenon_Hb26. % 47.44/47.61 cut (((op (e0) (e0)) = (e0)) = ((op (inv (e0)) (e0)) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb26. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H10. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e0) (e0)) = (op (inv (e0)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hb27]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (inv (e0)) (e0)) = (op (inv (e0)) (e0)))); [ zenon_intro zenon_Hb28 | zenon_intro zenon_Hb29 ]. % 47.44/47.61 cut (((op (inv (e0)) (e0)) = (op (inv (e0)) (e0))) = ((op (e0) (e0)) = (op (inv (e0)) (e0)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb27. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb28. % 47.44/47.61 cut (((op (inv (e0)) (e0)) = (op (inv (e0)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hb29]. % 47.44/47.61 cut (((op (inv (e0)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hb2a]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((inv (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hb23]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb23 zenon_H3f5). % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply zenon_Hb29. apply refl_equal. % 47.44/47.61 apply zenon_Hb29. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb24); [ zenon_intro zenon_Hb2c | zenon_intro zenon_Hb2b ]. % 47.44/47.61 apply (zenon_congruence_lr_s _ (fun zenon_Vl : _ => (~((op (e1) (inv (e1))) = zenon_Vl))) _ _ zenon_Hb2c ax3). zenon_intro zenon_Hb2d. % 47.44/47.61 cut (((op (e1) (e1)) = (e0)) = ((op (e1) (inv (e1))) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb2d. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H11. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e1) (e1)) = (op (e1) (inv (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hb2e]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e1) (inv (e1))) = (op (e1) (inv (e1))))); [ zenon_intro zenon_Hb2f | zenon_intro zenon_Hb30 ]. % 47.44/47.61 cut (((op (e1) (inv (e1))) = (op (e1) (inv (e1)))) = ((op (e1) (e1)) = (op (e1) (inv (e1))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb2e. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb2f. % 47.44/47.61 cut (((op (e1) (inv (e1))) = (op (e1) (inv (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hb30]. % 47.44/47.61 cut (((op (e1) (inv (e1))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hb31]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((inv (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hb32]. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 exact (zenon_Hb32 zenon_H3f7). % 47.44/47.61 apply zenon_Hb30. apply refl_equal. % 47.44/47.61 apply zenon_Hb30. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb2b); [ zenon_intro zenon_Hb34 | zenon_intro zenon_Hb33 ]. % 47.44/47.61 apply (zenon_congruence_lr_s _ (fun zenon_Vn : _ => (~((op (inv (e1)) (e1)) = zenon_Vn))) _ _ zenon_Hb34 ax3). zenon_intro zenon_Hb35. % 47.44/47.61 cut (((op (e1) (e1)) = (e0)) = ((op (inv (e1)) (e1)) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb35. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H11. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e1) (e1)) = (op (inv (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hb36]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (inv (e1)) (e1)) = (op (inv (e1)) (e1)))); [ zenon_intro zenon_Hb37 | zenon_intro zenon_Hb38 ]. % 47.44/47.61 cut (((op (inv (e1)) (e1)) = (op (inv (e1)) (e1))) = ((op (e1) (e1)) = (op (inv (e1)) (e1)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb36. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb37. % 47.44/47.61 cut (((op (inv (e1)) (e1)) = (op (inv (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hb38]. % 47.44/47.61 cut (((op (inv (e1)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hb39]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.44/47.61 cut (((inv (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hb32]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb32 zenon_H3f7). % 47.44/47.61 apply zenon_H6. apply refl_equal. % 47.44/47.61 apply zenon_Hb38. apply refl_equal. % 47.44/47.61 apply zenon_Hb38. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb33); [ zenon_intro zenon_Hb3b | zenon_intro zenon_Hb3a ]. % 47.44/47.61 apply (zenon_congruence_lr_s _ (fun zenon_Vp : _ => (~((op (e2) (inv (e2))) = zenon_Vp))) _ _ zenon_Hb3b ax3). zenon_intro zenon_Hb3c. % 47.44/47.61 cut (((op (e2) (e3)) = (e0)) = ((op (e2) (inv (e2))) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb3c. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H59. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e2) (e3)) = (op (e2) (inv (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb3d]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e2) (inv (e2))) = (op (e2) (inv (e2))))); [ zenon_intro zenon_Hb3e | zenon_intro zenon_Hb3f ]. % 47.44/47.61 cut (((op (e2) (inv (e2))) = (op (e2) (inv (e2)))) = ((op (e2) (e3)) = (op (e2) (inv (e2))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb3d. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb3e. % 47.44/47.61 cut (((op (e2) (inv (e2))) = (op (e2) (inv (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb3f]. % 47.44/47.61 cut (((op (e2) (inv (e2))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb40]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((inv (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hb41]. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 exact (zenon_Hb41 zenon_H3f9). % 47.44/47.61 apply zenon_Hb3f. apply refl_equal. % 47.44/47.61 apply zenon_Hb3f. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb3a); [ zenon_intro zenon_Hb43 | zenon_intro zenon_Hb42 ]. % 47.44/47.61 apply (zenon_congruence_lr_s _ (fun zenon_Vr : _ => (~((op (inv (e2)) (e2)) = zenon_Vr))) _ _ zenon_Hb43 ax3). zenon_intro zenon_Hb44. % 47.44/47.61 cut (((op (e3) (e2)) = (e0)) = ((op (inv (e2)) (e2)) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb44. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H81. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e3) (e2)) = (op (inv (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hb45]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (inv (e2)) (e2)) = (op (inv (e2)) (e2)))); [ zenon_intro zenon_Hb46 | zenon_intro zenon_Hb47 ]. % 47.44/47.61 cut (((op (inv (e2)) (e2)) = (op (inv (e2)) (e2))) = ((op (e3) (e2)) = (op (inv (e2)) (e2)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb45. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb46. % 47.44/47.61 cut (((op (inv (e2)) (e2)) = (op (inv (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hb47]. % 47.44/47.61 cut (((op (inv (e2)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hb48]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.44/47.61 cut (((inv (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hb41]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb41 zenon_H3f9). % 47.44/47.61 apply zenon_H19. apply refl_equal. % 47.44/47.61 apply zenon_Hb47. apply refl_equal. % 47.44/47.61 apply zenon_Hb47. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb42); [ zenon_intro zenon_Hb4a | zenon_intro zenon_Hb49 ]. % 47.44/47.61 apply (zenon_congruence_lr_s _ (fun zenon_Vt : _ => (~((op (e3) (inv (e3))) = zenon_Vt))) _ _ zenon_Hb4a ax3). zenon_intro zenon_Hb4b. % 47.44/47.61 cut (((op (e3) (e2)) = (e0)) = ((op (e3) (inv (e3))) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb4b. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H81. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e3) (e2)) = (op (e3) (inv (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hb4c]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e3) (inv (e3))) = (op (e3) (inv (e3))))); [ zenon_intro zenon_Hb4d | zenon_intro zenon_Hb4e ]. % 47.44/47.61 cut (((op (e3) (inv (e3))) = (op (e3) (inv (e3)))) = ((op (e3) (e2)) = (op (e3) (inv (e3))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb4c. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb4d. % 47.44/47.61 cut (((op (e3) (inv (e3))) = (op (e3) (inv (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hb4e]. % 47.44/47.61 cut (((op (e3) (inv (e3))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hb4f]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((inv (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb50]. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 exact (zenon_Hb50 zenon_H3fb). % 47.44/47.61 apply zenon_Hb4e. apply refl_equal. % 47.44/47.61 apply zenon_Hb4e. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb49); [ zenon_intro zenon_Hb52 | zenon_intro zenon_Hb51 ]. % 47.44/47.61 apply (zenon_congruence_lr_s _ (fun zenon_Vv : _ => (~((op (inv (e3)) (e3)) = zenon_Vv))) _ _ zenon_Hb52 ax3). zenon_intro zenon_Hb53. % 47.44/47.61 cut (((op (e2) (e3)) = (e0)) = ((op (inv (e3)) (e3)) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb53. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_H59. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e2) (e3)) = (op (inv (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb54]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (inv (e3)) (e3)) = (op (inv (e3)) (e3)))); [ zenon_intro zenon_Hb55 | zenon_intro zenon_Hb56 ]. % 47.44/47.61 cut (((op (inv (e3)) (e3)) = (op (inv (e3)) (e3))) = ((op (e2) (e3)) = (op (inv (e3)) (e3)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb54. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb55. % 47.44/47.61 cut (((op (inv (e3)) (e3)) = (op (inv (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb56]. % 47.44/47.61 cut (((op (inv (e3)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb57]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 47.44/47.61 cut (((inv (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb50]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb50 zenon_H3fb). % 47.44/47.61 apply zenon_H24. apply refl_equal. % 47.44/47.61 apply zenon_Hb56. apply refl_equal. % 47.44/47.61 apply zenon_Hb56. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb51); [ zenon_intro zenon_Hb59 | zenon_intro zenon_Hb58 ]. % 47.44/47.61 apply (zenon_congruence_lr_s _ (fun zenon_Vx : _ => (~((op (e4) (inv (e4))) = zenon_Vx))) _ _ zenon_Hb59 ax3). zenon_intro zenon_Hb5a. % 47.44/47.61 cut (((op (e4) (e5)) = (e0)) = ((op (e4) (inv (e4))) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb5a. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hc9. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e4) (e5)) = (op (e4) (inv (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hb5b]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e4) (inv (e4))) = (op (e4) (inv (e4))))); [ zenon_intro zenon_Hb5c | zenon_intro zenon_Hb5d ]. % 47.44/47.61 cut (((op (e4) (inv (e4))) = (op (e4) (inv (e4)))) = ((op (e4) (e5)) = (op (e4) (inv (e4))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb5b. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb5c. % 47.44/47.61 cut (((op (e4) (inv (e4))) = (op (e4) (inv (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hb5d]. % 47.44/47.61 cut (((op (e4) (inv (e4))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb5e]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((inv (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb5f]. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 exact (zenon_Hb5f zenon_H3fd). % 47.44/47.61 apply zenon_Hb5d. apply refl_equal. % 47.44/47.61 apply zenon_Hb5d. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb58); [ zenon_intro zenon_Hb61 | zenon_intro zenon_Hb60 ]. % 47.44/47.61 apply (zenon_congruence_lr_s _ (fun zenon_Vz : _ => (~((op (inv (e4)) (e4)) = zenon_Vz))) _ _ zenon_Hb61 ax3). zenon_intro zenon_Hb62. % 47.44/47.61 cut (((op (e5) (e4)) = (e0)) = ((op (inv (e4)) (e4)) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb62. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hf1. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e5) (e4)) = (op (inv (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb63]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (inv (e4)) (e4)) = (op (inv (e4)) (e4)))); [ zenon_intro zenon_Hb64 | zenon_intro zenon_Hb65 ]. % 47.44/47.61 cut (((op (inv (e4)) (e4)) = (op (inv (e4)) (e4))) = ((op (e5) (e4)) = (op (inv (e4)) (e4)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb63. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb64. % 47.44/47.61 cut (((op (inv (e4)) (e4)) = (op (inv (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb65]. % 47.44/47.61 cut (((op (inv (e4)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb66]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.44/47.61 cut (((inv (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb5f]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb5f zenon_H3fd). % 47.44/47.61 apply zenon_H1a. apply refl_equal. % 47.44/47.61 apply zenon_Hb65. apply refl_equal. % 47.44/47.61 apply zenon_Hb65. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb60); [ zenon_intro zenon_Hb68 | zenon_intro zenon_Hb67 ]. % 47.44/47.61 apply (zenon_congruence_lr_s _ (fun zenon_Vba : _ => (~((op (e5) (inv (e5))) = zenon_Vba))) _ _ zenon_Hb68 ax3). zenon_intro zenon_Hb69. % 47.44/47.61 cut (((op (e5) (e4)) = (e0)) = ((op (e5) (inv (e5))) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb69. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hf1. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e5) (e4)) = (op (e5) (inv (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hb6a]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (e5) (inv (e5))) = (op (e5) (inv (e5))))); [ zenon_intro zenon_Hb6b | zenon_intro zenon_Hb6c ]. % 47.44/47.61 cut (((op (e5) (inv (e5))) = (op (e5) (inv (e5)))) = ((op (e5) (e4)) = (op (e5) (inv (e5))))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb6a. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb6b. % 47.44/47.61 cut (((op (e5) (inv (e5))) = (op (e5) (inv (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hb6c]. % 47.44/47.61 cut (((op (e5) (inv (e5))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb6d]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((inv (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hb6e]. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 congruence. % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 exact (zenon_Hb6e zenon_H3fc). % 47.44/47.61 apply zenon_Hb6c. apply refl_equal. % 47.44/47.61 apply zenon_Hb6c. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb67); [ zenon_intro zenon_Hb70 | zenon_intro zenon_Hb6f ]. % 47.44/47.61 apply (zenon_congruence_lr_s _ (fun zenon_Vda : _ => (~((op (inv (e5)) (e5)) = zenon_Vda))) _ _ zenon_Hb70 ax3). zenon_intro zenon_Hb71. % 47.44/47.61 cut (((op (e4) (e5)) = (e0)) = ((op (inv (e5)) (e5)) = (e0))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb71. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hc9. % 47.44/47.61 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.44/47.61 cut (((op (e4) (e5)) = (op (inv (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb72]. % 47.44/47.61 congruence. % 47.44/47.61 elim (classic ((op (inv (e5)) (e5)) = (op (inv (e5)) (e5)))); [ zenon_intro zenon_Hb73 | zenon_intro zenon_Hb74 ]. % 47.44/47.61 cut (((op (inv (e5)) (e5)) = (op (inv (e5)) (e5))) = ((op (e4) (e5)) = (op (inv (e5)) (e5)))). % 47.44/47.61 intro zenon_D_pnotp. % 47.44/47.61 apply zenon_Hb72. % 47.44/47.61 rewrite <- zenon_D_pnotp. % 47.44/47.61 exact zenon_Hb73. % 47.44/47.61 cut (((op (inv (e5)) (e5)) = (op (inv (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb74]. % 47.44/47.61 cut (((op (inv (e5)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb75]. % 47.44/47.61 congruence. % 47.44/47.61 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 47.44/47.61 cut (((inv (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hb6e]. % 47.44/47.61 congruence. % 47.44/47.61 exact (zenon_Hb6e zenon_H3fc). % 47.44/47.61 apply zenon_H25. apply refl_equal. % 47.44/47.61 apply zenon_Hb74. apply refl_equal. % 47.44/47.61 apply zenon_Hb74. apply refl_equal. % 47.44/47.61 apply zenon_H5. apply refl_equal. % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb6f); [ zenon_intro zenon_Hb77 | zenon_intro zenon_Hb76 ]. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb77). zenon_intro zenon_Hb23. zenon_intro zenon_Hb78. % 47.44/47.61 exact (zenon_Hb23 zenon_H3f5). % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb76); [ zenon_intro zenon_Hb7a | zenon_intro zenon_Hb79 ]. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb7a). zenon_intro zenon_Hb7c. zenon_intro zenon_Hb7b. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb7b). zenon_intro zenon_Hb32. zenon_intro zenon_Hb7d. % 47.44/47.61 exact (zenon_Hb32 zenon_H3f7). % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb79); [ zenon_intro zenon_Hb7f | zenon_intro zenon_Hb7e ]. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb7f). zenon_intro zenon_Hb81. zenon_intro zenon_Hb80. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb80). zenon_intro zenon_Hb83. zenon_intro zenon_Hb82. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb82). zenon_intro zenon_Hb85. zenon_intro zenon_Hb84. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb84). zenon_intro zenon_Hb41. zenon_intro zenon_Hb86. % 47.44/47.61 exact (zenon_Hb41 zenon_H3f9). % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb7e); [ zenon_intro zenon_Hb88 | zenon_intro zenon_Hb87 ]. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb88). zenon_intro zenon_Hb8a. zenon_intro zenon_Hb89. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb89). zenon_intro zenon_Hb8c. zenon_intro zenon_Hb8b. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb8b). zenon_intro zenon_Hb50. zenon_intro zenon_Hb8d. % 47.44/47.61 exact (zenon_Hb50 zenon_H3fb). % 47.44/47.61 apply (zenon_notand_s _ _ zenon_Hb87); [ zenon_intro zenon_Hb8f | zenon_intro zenon_Hb8e ]. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb8f). zenon_intro zenon_Hb91. zenon_intro zenon_Hb90. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb90). zenon_intro zenon_Hb93. zenon_intro zenon_Hb92. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb92). zenon_intro zenon_Hb95. zenon_intro zenon_Hb94. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb94). zenon_intro zenon_Hb97. zenon_intro zenon_Hb96. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb96). zenon_intro zenon_Hb98. zenon_intro zenon_Hb5f. % 47.44/47.61 exact (zenon_Hb5f zenon_H3fd). % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb8e). zenon_intro zenon_Hb9a. zenon_intro zenon_Hb99. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb99). zenon_intro zenon_Hb9c. zenon_intro zenon_Hb9b. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb9b). zenon_intro zenon_Hb9e. zenon_intro zenon_Hb9d. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb9d). zenon_intro zenon_Hba0. zenon_intro zenon_Hb9f. % 47.44/47.61 apply (zenon_notor_s _ _ zenon_Hb9f). zenon_intro zenon_Hb6e. zenon_intro zenon_Hba1. % 47.44/47.61 exact (zenon_Hb6e zenon_H3fc). % 47.44/47.61 Qed. % 47.44/47.61 % SZS output end Proof % 47.44/47.61 (* END-PROOF *) % 47.44/47.61 nodes searched: 1654167 % 47.44/47.61 max branch formulas: 1062 % 47.44/47.61 proof nodes created: 1511 % 47.44/47.61 formulas created: 414734 % 47.44/47.61 %------------------------------------------------------------------------------