%------------------------------------------------------------------------------ % File : Zenon---0.7.1 % Problem : ALG033+1 : TPTP v8.1.0. Released v2.7.0. % Transfm : none % Format : tptp:raw % Command : run_zenon %s %d % Computer : n023.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.65s 47.84s % Output : Proof 47.72s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.07/0.12 % Problem : ALG033+1 : TPTP v8.1.0. Released v2.7.0. % 0.07/0.13 % Command : run_zenon %s %d % 0.12/0.34 % Computer : n023.cluster.edu % 0.12/0.34 % Model : x86_64 x86_64 % 0.12/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.12/0.34 % Memory : 8042.1875MB % 0.12/0.34 % OS : Linux 3.10.0-693.el7.x86_64 % 0.12/0.34 % CPULimit : 300 % 0.12/0.34 % WCLimit : 600 % 0.12/0.34 % DateTime : Thu Jun 9 07:42:38 EDT 2022 % 0.12/0.34 % CPUTime : % 47.65/47.84 (* PROOF-FOUND *) % 47.65/47.84 % SZS status Theorem % 47.65/47.84 (* BEGIN-PROOF *) % 47.65/47.84 % SZS output start Proof % 47.65/47.84 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.65/47.84 Proof. % 47.65/47.84 assert (zenon_L1_ : (~((e1) = (e1))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H5. % 47.65/47.84 apply zenon_H5. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L1_ *) % 47.65/47.84 assert (zenon_L2_ : (~((e2) = (e2))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H6. % 47.65/47.84 apply zenon_H6. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L2_ *) % 47.65/47.84 assert (zenon_L3_ : (~((e0) = (e0))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H7. % 47.65/47.84 apply zenon_H7. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L3_ *) % 47.65/47.84 assert (zenon_L4_ : ((op (e0) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((e1) = (op (e0) (op (e1) (e0))))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H8 zenon_H9 zenon_Ha. % 47.65/47.84 elim (classic ((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [ zenon_intro zenon_Hb | zenon_intro zenon_Hc ]. % 47.65/47.84 cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0)))) = ((e1) = (op (e0) (op (e1) (e0))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_Ha. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_Hb. % 47.65/47.84 cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hc]. % 47.65/47.84 cut (((op (e0) (op (e1) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hd]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e1) (e0))) = (e1))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_Hd. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H8. % 47.65/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.65/47.84 cut (((op (e0) (e1)) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_He]. % 47.65/47.84 congruence. % 47.65/47.84 elim (classic ((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [ zenon_intro zenon_Hb | zenon_intro zenon_Hc ]. % 47.65/47.84 cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0)))) = ((op (e0) (e1)) = (op (e0) (op (e1) (e0))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_He. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_Hb. % 47.65/47.84 cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hc]. % 47.65/47.84 cut (((op (e0) (op (e1) (e0))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hf]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 47.65/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.65/47.84 congruence. % 47.65/47.84 apply zenon_H7. apply refl_equal. % 47.65/47.84 exact (zenon_H10 zenon_H9). % 47.65/47.84 apply zenon_Hc. apply refl_equal. % 47.65/47.84 apply zenon_Hc. apply refl_equal. % 47.65/47.84 apply zenon_H5. apply refl_equal. % 47.65/47.84 apply zenon_Hc. apply refl_equal. % 47.65/47.84 apply zenon_Hc. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L4_ *) % 47.65/47.84 assert (zenon_L5_ : ((op (e0) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (~((e0) = (op (e0) (op (e1) (e1))))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H11 zenon_H12 zenon_H13. % 47.65/47.84 elim (classic ((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [ zenon_intro zenon_H14 | zenon_intro zenon_H15 ]. % 47.65/47.84 cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1)))) = ((e0) = (op (e0) (op (e1) (e1))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H13. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H14. % 47.65/47.84 cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H15]. % 47.65/47.84 cut (((op (e0) (op (e1) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H16]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e1) (e1))) = (e0))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H16. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H11. % 47.65/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.65/47.84 cut (((op (e0) (e0)) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H17]. % 47.65/47.84 congruence. % 47.65/47.84 elim (classic ((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [ zenon_intro zenon_H14 | zenon_intro zenon_H15 ]. % 47.65/47.84 cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1)))) = ((op (e0) (e0)) = (op (e0) (op (e1) (e1))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H17. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H14. % 47.65/47.84 cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H15]. % 47.65/47.84 cut (((op (e0) (op (e1) (e1))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H18]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.65/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.65/47.84 congruence. % 47.65/47.84 apply zenon_H7. apply refl_equal. % 47.65/47.84 exact (zenon_H19 zenon_H12). % 47.65/47.84 apply zenon_H15. apply refl_equal. % 47.65/47.84 apply zenon_H15. apply refl_equal. % 47.65/47.84 apply zenon_H7. apply refl_equal. % 47.65/47.84 apply zenon_H15. apply refl_equal. % 47.65/47.84 apply zenon_H15. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L5_ *) % 47.65/47.84 assert (zenon_L6_ : (~((e3) = (e3))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H1a. % 47.65/47.84 apply zenon_H1a. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L6_ *) % 47.65/47.84 assert (zenon_L7_ : ((op (e0) (e3)) = (e3)) -> ((op (e1) (e2)) = (e3)) -> (~((e3) = (op (e0) (op (e1) (e2))))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H1b zenon_H1c zenon_H1d. % 47.65/47.84 elim (classic ((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [ zenon_intro zenon_H1e | zenon_intro zenon_H1f ]. % 47.65/47.84 cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2)))) = ((e3) = (op (e0) (op (e1) (e2))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H1d. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H1e. % 47.65/47.84 cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1f]. % 47.65/47.84 cut (((op (e0) (op (e1) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H20]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e1) (e2))) = (e3))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H20. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H1b. % 47.65/47.84 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.65/47.84 cut (((op (e0) (e3)) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H21]. % 47.65/47.84 congruence. % 47.65/47.84 elim (classic ((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [ zenon_intro zenon_H1e | zenon_intro zenon_H1f ]. % 47.65/47.84 cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2)))) = ((op (e0) (e3)) = (op (e0) (op (e1) (e2))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H21. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H1e. % 47.65/47.84 cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1f]. % 47.65/47.84 cut (((op (e0) (op (e1) (e2))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H22]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e1) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.65/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.65/47.84 congruence. % 47.65/47.84 apply zenon_H7. apply refl_equal. % 47.65/47.84 exact (zenon_H23 zenon_H1c). % 47.65/47.84 apply zenon_H1f. apply refl_equal. % 47.65/47.84 apply zenon_H1f. apply refl_equal. % 47.65/47.84 apply zenon_H1a. apply refl_equal. % 47.65/47.84 apply zenon_H1f. apply refl_equal. % 47.65/47.84 apply zenon_H1f. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L7_ *) % 47.65/47.84 assert (zenon_L8_ : ((op (e0) (e2)) = (e2)) -> ((op (e1) (e3)) = (e2)) -> (~((e2) = (op (e0) (op (e1) (e3))))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H24 zenon_H25 zenon_H26. % 47.65/47.84 elim (classic ((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [ zenon_intro zenon_H27 | zenon_intro zenon_H28 ]. % 47.65/47.84 cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3)))) = ((e2) = (op (e0) (op (e1) (e3))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H26. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H27. % 47.65/47.84 cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 47.65/47.84 cut (((op (e0) (op (e1) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H29]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e1) (e3))) = (e2))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H29. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H24. % 47.65/47.84 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.65/47.84 cut (((op (e0) (e2)) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2a]. % 47.65/47.84 congruence. % 47.65/47.84 elim (classic ((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [ zenon_intro zenon_H27 | zenon_intro zenon_H28 ]. % 47.65/47.84 cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3)))) = ((op (e0) (e2)) = (op (e0) (op (e1) (e3))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H2a. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H27. % 47.65/47.84 cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 47.65/47.84 cut (((op (e0) (op (e1) (e3))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2b]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 47.65/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.65/47.84 congruence. % 47.65/47.84 apply zenon_H7. apply refl_equal. % 47.65/47.84 exact (zenon_H2c zenon_H25). % 47.65/47.84 apply zenon_H28. apply refl_equal. % 47.65/47.84 apply zenon_H28. apply refl_equal. % 47.65/47.84 apply zenon_H6. apply refl_equal. % 47.65/47.84 apply zenon_H28. apply refl_equal. % 47.65/47.84 apply zenon_H28. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L8_ *) % 47.65/47.84 assert (zenon_L9_ : (~((e4) = (e4))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H2d. % 47.65/47.84 apply zenon_H2d. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L9_ *) % 47.65/47.84 assert (zenon_L10_ : (~((e5) = (e5))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H2e. % 47.65/47.84 apply zenon_H2e. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L10_ *) % 47.65/47.84 assert (zenon_L11_ : ((op (e0) (e5)) = (e5)) -> ((op (e1) (e4)) = (e5)) -> (~((e5) = (op (e0) (op (e1) (e4))))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H2f zenon_H30 zenon_H31. % 47.65/47.84 elim (classic ((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4))))); [ zenon_intro zenon_H32 | zenon_intro zenon_H33 ]. % 47.65/47.84 cut (((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4)))) = ((e5) = (op (e0) (op (e1) (e4))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H31. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H32. % 47.65/47.84 cut (((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 47.65/47.84 cut (((op (e0) (op (e1) (e4))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e0) (e5)) = (e5)) = ((op (e0) (op (e1) (e4))) = (e5))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H34. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H2f. % 47.65/47.84 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.65/47.84 cut (((op (e0) (e5)) = (op (e0) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H35]. % 47.65/47.84 congruence. % 47.65/47.84 elim (classic ((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4))))); [ zenon_intro zenon_H32 | zenon_intro zenon_H33 ]. % 47.65/47.84 cut (((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4)))) = ((op (e0) (e5)) = (op (e0) (op (e1) (e4))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H35. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H32. % 47.65/47.84 cut (((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 47.65/47.84 cut (((op (e0) (op (e1) (e4))) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e1) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.65/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.65/47.84 congruence. % 47.65/47.84 apply zenon_H7. apply refl_equal. % 47.65/47.84 exact (zenon_H37 zenon_H30). % 47.65/47.84 apply zenon_H33. apply refl_equal. % 47.65/47.84 apply zenon_H33. apply refl_equal. % 47.65/47.84 apply zenon_H2e. apply refl_equal. % 47.65/47.84 apply zenon_H33. apply refl_equal. % 47.65/47.84 apply zenon_H33. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L11_ *) % 47.65/47.84 assert (zenon_L12_ : ((op (e0) (e4)) = (e4)) -> ((op (e1) (e5)) = (e4)) -> (~((e4) = (op (e0) (op (e1) (e5))))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H38 zenon_H39 zenon_H3a. % 47.65/47.84 elim (classic ((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5))))); [ zenon_intro zenon_H3b | zenon_intro zenon_H3c ]. % 47.65/47.84 cut (((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5)))) = ((e4) = (op (e0) (op (e1) (e5))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H3a. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H3b. % 47.65/47.84 cut (((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 47.65/47.84 cut (((op (e0) (op (e1) (e5))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H3d]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e0) (e4)) = (e4)) = ((op (e0) (op (e1) (e5))) = (e4))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H3d. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H38. % 47.65/47.84 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.65/47.84 cut (((op (e0) (e4)) = (op (e0) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3e]. % 47.65/47.84 congruence. % 47.65/47.84 elim (classic ((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5))))); [ zenon_intro zenon_H3b | zenon_intro zenon_H3c ]. % 47.65/47.84 cut (((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5)))) = ((op (e0) (e4)) = (op (e0) (op (e1) (e5))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H3e. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H3b. % 47.65/47.84 cut (((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 47.65/47.84 cut (((op (e0) (op (e1) (e5))) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H3f]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e1) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.65/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.65/47.84 congruence. % 47.65/47.84 apply zenon_H7. apply refl_equal. % 47.65/47.84 exact (zenon_H40 zenon_H39). % 47.65/47.84 apply zenon_H3c. apply refl_equal. % 47.65/47.84 apply zenon_H3c. apply refl_equal. % 47.65/47.84 apply zenon_H2d. apply refl_equal. % 47.65/47.84 apply zenon_H3c. apply refl_equal. % 47.65/47.84 apply zenon_H3c. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L12_ *) % 47.65/47.84 assert (zenon_L13_ : ((op (e0) (e2)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((e2) = (op (e0) (op (e2) (e0))))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H24 zenon_H41 zenon_H42. % 47.65/47.84 elim (classic ((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [ zenon_intro zenon_H43 | zenon_intro zenon_H44 ]. % 47.65/47.84 cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0)))) = ((e2) = (op (e0) (op (e2) (e0))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H42. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H43. % 47.65/47.84 cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 47.65/47.84 cut (((op (e0) (op (e2) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H45]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e2) (e0))) = (e2))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H45. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H24. % 47.65/47.84 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.65/47.84 cut (((op (e0) (e2)) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H46]. % 47.65/47.84 congruence. % 47.65/47.84 elim (classic ((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [ zenon_intro zenon_H43 | zenon_intro zenon_H44 ]. % 47.65/47.84 cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0)))) = ((op (e0) (e2)) = (op (e0) (op (e2) (e0))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H46. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H43. % 47.65/47.84 cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 47.65/47.84 cut (((op (e0) (op (e2) (e0))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H47]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.65/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.65/47.84 congruence. % 47.65/47.84 apply zenon_H7. apply refl_equal. % 47.65/47.84 exact (zenon_H48 zenon_H41). % 47.65/47.84 apply zenon_H44. apply refl_equal. % 47.65/47.84 apply zenon_H44. apply refl_equal. % 47.65/47.84 apply zenon_H6. apply refl_equal. % 47.65/47.84 apply zenon_H44. apply refl_equal. % 47.65/47.84 apply zenon_H44. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L13_ *) % 47.65/47.84 assert (zenon_L14_ : ((op (e0) (e4)) = (e4)) -> ((op (e2) (e1)) = (e4)) -> (~((e4) = (op (e0) (op (e2) (e1))))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H38 zenon_H49 zenon_H4a. % 47.65/47.84 elim (classic ((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [ zenon_intro zenon_H4b | zenon_intro zenon_H4c ]. % 47.65/47.84 cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1)))) = ((e4) = (op (e0) (op (e2) (e1))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H4a. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H4b. % 47.65/47.84 cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 47.65/47.84 cut (((op (e0) (op (e2) (e1))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H4d]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e0) (e4)) = (e4)) = ((op (e0) (op (e2) (e1))) = (e4))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H4d. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H38. % 47.65/47.84 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.65/47.84 cut (((op (e0) (e4)) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H4e]. % 47.65/47.84 congruence. % 47.65/47.84 elim (classic ((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [ zenon_intro zenon_H4b | zenon_intro zenon_H4c ]. % 47.65/47.84 cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1)))) = ((op (e0) (e4)) = (op (e0) (op (e2) (e1))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H4e. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H4b. % 47.65/47.84 cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 47.65/47.84 cut (((op (e0) (op (e2) (e1))) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H4f]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.65/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.65/47.84 congruence. % 47.65/47.84 apply zenon_H7. apply refl_equal. % 47.65/47.84 exact (zenon_H50 zenon_H49). % 47.65/47.84 apply zenon_H4c. apply refl_equal. % 47.65/47.84 apply zenon_H4c. apply refl_equal. % 47.65/47.84 apply zenon_H2d. apply refl_equal. % 47.65/47.84 apply zenon_H4c. apply refl_equal. % 47.65/47.84 apply zenon_H4c. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L14_ *) % 47.65/47.84 assert (zenon_L15_ : ((op (e0) (e0)) = (e0)) -> ((op (e2) (e2)) = (e0)) -> (~((e0) = (op (e0) (op (e2) (e2))))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H11 zenon_H51 zenon_H52. % 47.65/47.84 elim (classic ((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [ zenon_intro zenon_H53 | zenon_intro zenon_H54 ]. % 47.65/47.84 cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2)))) = ((e0) = (op (e0) (op (e2) (e2))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H52. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H53. % 47.65/47.84 cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 47.65/47.84 cut (((op (e0) (op (e2) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e2) (e2))) = (e0))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H55. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H11. % 47.65/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.65/47.84 cut (((op (e0) (e0)) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 47.65/47.84 congruence. % 47.65/47.84 elim (classic ((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [ zenon_intro zenon_H53 | zenon_intro zenon_H54 ]. % 47.65/47.84 cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2)))) = ((op (e0) (e0)) = (op (e0) (op (e2) (e2))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H56. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H53. % 47.65/47.84 cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 47.65/47.84 cut (((op (e0) (op (e2) (e2))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e2) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.65/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.65/47.84 congruence. % 47.65/47.84 apply zenon_H7. apply refl_equal. % 47.65/47.84 exact (zenon_H58 zenon_H51). % 47.65/47.84 apply zenon_H54. apply refl_equal. % 47.65/47.84 apply zenon_H54. apply refl_equal. % 47.65/47.84 apply zenon_H7. apply refl_equal. % 47.65/47.84 apply zenon_H54. apply refl_equal. % 47.65/47.84 apply zenon_H54. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L15_ *) % 47.65/47.84 assert (zenon_L16_ : ((op (e0) (e5)) = (e5)) -> ((op (e2) (e3)) = (e5)) -> (~((e5) = (op (e0) (op (e2) (e3))))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H2f zenon_H59 zenon_H5a. % 47.65/47.84 elim (classic ((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [ zenon_intro zenon_H5b | zenon_intro zenon_H5c ]. % 47.65/47.84 cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3)))) = ((e5) = (op (e0) (op (e2) (e3))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H5a. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H5b. % 47.65/47.84 cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H5c]. % 47.65/47.84 cut (((op (e0) (op (e2) (e3))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e0) (e5)) = (e5)) = ((op (e0) (op (e2) (e3))) = (e5))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H5d. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H2f. % 47.65/47.84 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.65/47.84 cut (((op (e0) (e5)) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 47.65/47.84 congruence. % 47.65/47.84 elim (classic ((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [ zenon_intro zenon_H5b | zenon_intro zenon_H5c ]. % 47.65/47.84 cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3)))) = ((op (e0) (e5)) = (op (e0) (op (e2) (e3))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H5e. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H5b. % 47.65/47.84 cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H5c]. % 47.65/47.84 cut (((op (e0) (op (e2) (e3))) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5f]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e2) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.65/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.65/47.84 congruence. % 47.65/47.84 apply zenon_H7. apply refl_equal. % 47.65/47.84 exact (zenon_H60 zenon_H59). % 47.65/47.84 apply zenon_H5c. apply refl_equal. % 47.65/47.84 apply zenon_H5c. apply refl_equal. % 47.65/47.84 apply zenon_H2e. apply refl_equal. % 47.65/47.84 apply zenon_H5c. apply refl_equal. % 47.65/47.84 apply zenon_H5c. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L16_ *) % 47.65/47.84 assert (zenon_L17_ : ((op (e0) (e1)) = (e1)) -> ((op (e2) (e4)) = (e1)) -> (~((e1) = (op (e0) (op (e2) (e4))))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H8 zenon_H61 zenon_H62. % 47.65/47.84 elim (classic ((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4))))); [ zenon_intro zenon_H63 | zenon_intro zenon_H64 ]. % 47.65/47.84 cut (((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4)))) = ((e1) = (op (e0) (op (e2) (e4))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H62. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H63. % 47.65/47.84 cut (((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 47.65/47.84 cut (((op (e0) (op (e2) (e4))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e2) (e4))) = (e1))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H65. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H8. % 47.65/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.65/47.84 cut (((op (e0) (e1)) = (op (e0) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H66]. % 47.65/47.84 congruence. % 47.65/47.84 elim (classic ((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4))))); [ zenon_intro zenon_H63 | zenon_intro zenon_H64 ]. % 47.65/47.84 cut (((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4)))) = ((op (e0) (e1)) = (op (e0) (op (e2) (e4))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H66. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H63. % 47.65/47.84 cut (((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 47.65/47.84 cut (((op (e0) (op (e2) (e4))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H67]. % 47.65/47.84 congruence. % 47.65/47.84 cut (((op (e2) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.65/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.65/47.84 congruence. % 47.65/47.84 apply zenon_H7. apply refl_equal. % 47.65/47.84 exact (zenon_H68 zenon_H61). % 47.65/47.84 apply zenon_H64. apply refl_equal. % 47.65/47.84 apply zenon_H64. apply refl_equal. % 47.65/47.84 apply zenon_H5. apply refl_equal. % 47.65/47.84 apply zenon_H64. apply refl_equal. % 47.65/47.84 apply zenon_H64. apply refl_equal. % 47.65/47.84 (* end of lemma zenon_L17_ *) % 47.65/47.84 assert (zenon_L18_ : ((op (e0) (e3)) = (e3)) -> ((op (e2) (e5)) = (e3)) -> (~((e3) = (op (e0) (op (e2) (e5))))) -> False). % 47.65/47.84 do 0 intro. intros zenon_H1b zenon_H69 zenon_H6a. % 47.65/47.84 elim (classic ((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5))))); [ zenon_intro zenon_H6b | zenon_intro zenon_H6c ]. % 47.65/47.84 cut (((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5)))) = ((e3) = (op (e0) (op (e2) (e5))))). % 47.65/47.84 intro zenon_D_pnotp. % 47.65/47.84 apply zenon_H6a. % 47.65/47.84 rewrite <- zenon_D_pnotp. % 47.65/47.84 exact zenon_H6b. % 47.65/47.84 cut (((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 47.70/47.84 cut (((op (e0) (op (e2) (e5))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H6d]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e2) (e5))) = (e3))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H6d. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H1b. % 47.70/47.84 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.84 cut (((op (e0) (e3)) = (op (e0) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6e]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5))))); [ zenon_intro zenon_H6b | zenon_intro zenon_H6c ]. % 47.70/47.84 cut (((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5)))) = ((op (e0) (e3)) = (op (e0) (op (e2) (e5))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H6e. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H6b. % 47.70/47.84 cut (((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 47.70/47.84 cut (((op (e0) (op (e2) (e5))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6f]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e2) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_H70 zenon_H69). % 47.70/47.84 apply zenon_H6c. apply refl_equal. % 47.70/47.84 apply zenon_H6c. apply refl_equal. % 47.70/47.84 apply zenon_H1a. apply refl_equal. % 47.70/47.84 apply zenon_H6c. apply refl_equal. % 47.70/47.84 apply zenon_H6c. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L18_ *) % 47.70/47.84 assert (zenon_L19_ : ((op (e0) (e3)) = (e3)) -> ((op (e3) (e0)) = (e3)) -> (~((e3) = (op (e0) (op (e3) (e0))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H1b zenon_H71 zenon_H72. % 47.70/47.84 elim (classic ((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [ zenon_intro zenon_H73 | zenon_intro zenon_H74 ]. % 47.70/47.84 cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0)))) = ((e3) = (op (e0) (op (e3) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H72. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H73. % 47.70/47.84 cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H74]. % 47.70/47.84 cut (((op (e0) (op (e3) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H75]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e3) (e0))) = (e3))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H75. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H1b. % 47.70/47.84 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.84 cut (((op (e0) (e3)) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H76]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [ zenon_intro zenon_H73 | zenon_intro zenon_H74 ]. % 47.70/47.84 cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0)))) = ((op (e0) (e3)) = (op (e0) (op (e3) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H76. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H73. % 47.70/47.84 cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H74]. % 47.70/47.84 cut (((op (e0) (op (e3) (e0))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H77]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_H78 zenon_H71). % 47.70/47.84 apply zenon_H74. apply refl_equal. % 47.70/47.84 apply zenon_H74. apply refl_equal. % 47.70/47.84 apply zenon_H1a. apply refl_equal. % 47.70/47.84 apply zenon_H74. apply refl_equal. % 47.70/47.84 apply zenon_H74. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L19_ *) % 47.70/47.84 assert (zenon_L20_ : ((op (e0) (e5)) = (e5)) -> ((op (e3) (e1)) = (e5)) -> (~((e5) = (op (e0) (op (e3) (e1))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H2f zenon_H79 zenon_H7a. % 47.70/47.84 elim (classic ((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [ zenon_intro zenon_H7b | zenon_intro zenon_H7c ]. % 47.70/47.84 cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1)))) = ((e5) = (op (e0) (op (e3) (e1))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H7a. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H7b. % 47.70/47.84 cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7c]. % 47.70/47.84 cut (((op (e0) (op (e3) (e1))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H7d]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e5)) = (e5)) = ((op (e0) (op (e3) (e1))) = (e5))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H7d. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H2f. % 47.70/47.84 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.84 cut (((op (e0) (e5)) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7e]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [ zenon_intro zenon_H7b | zenon_intro zenon_H7c ]. % 47.70/47.84 cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1)))) = ((op (e0) (e5)) = (op (e0) (op (e3) (e1))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H7e. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H7b. % 47.70/47.84 cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7c]. % 47.70/47.84 cut (((op (e0) (op (e3) (e1))) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7f]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_H80 zenon_H79). % 47.70/47.84 apply zenon_H7c. apply refl_equal. % 47.70/47.84 apply zenon_H7c. apply refl_equal. % 47.70/47.84 apply zenon_H2e. apply refl_equal. % 47.70/47.84 apply zenon_H7c. apply refl_equal. % 47.70/47.84 apply zenon_H7c. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L20_ *) % 47.70/47.84 assert (zenon_L21_ : ((op (e0) (e1)) = (e1)) -> ((op (e3) (e2)) = (e1)) -> (~((e1) = (op (e0) (op (e3) (e2))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H8 zenon_H81 zenon_H82. % 47.70/47.84 elim (classic ((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [ zenon_intro zenon_H83 | zenon_intro zenon_H84 ]. % 47.70/47.84 cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2)))) = ((e1) = (op (e0) (op (e3) (e2))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H82. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H83. % 47.70/47.84 cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H84]. % 47.70/47.84 cut (((op (e0) (op (e3) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H85]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e3) (e2))) = (e1))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H85. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H8. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 cut (((op (e0) (e1)) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [ zenon_intro zenon_H83 | zenon_intro zenon_H84 ]. % 47.70/47.84 cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2)))) = ((op (e0) (e1)) = (op (e0) (op (e3) (e2))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H86. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H83. % 47.70/47.84 cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H84]. % 47.70/47.84 cut (((op (e0) (op (e3) (e2))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H87]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_H88 zenon_H81). % 47.70/47.84 apply zenon_H84. apply refl_equal. % 47.70/47.84 apply zenon_H84. apply refl_equal. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 apply zenon_H84. apply refl_equal. % 47.70/47.84 apply zenon_H84. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L21_ *) % 47.70/47.84 assert (zenon_L22_ : ((op (e0) (e4)) = (e4)) -> ((op (e3) (e3)) = (e4)) -> (~((e4) = (op (e0) (op (e3) (e3))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H38 zenon_H89 zenon_H8a. % 47.70/47.84 elim (classic ((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [ zenon_intro zenon_H8b | zenon_intro zenon_H8c ]. % 47.70/47.84 cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3)))) = ((e4) = (op (e0) (op (e3) (e3))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H8a. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H8b. % 47.70/47.84 cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H8c]. % 47.70/47.84 cut (((op (e0) (op (e3) (e3))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H8d]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e4)) = (e4)) = ((op (e0) (op (e3) (e3))) = (e4))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H8d. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H38. % 47.70/47.84 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.84 cut (((op (e0) (e4)) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H8e]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [ zenon_intro zenon_H8b | zenon_intro zenon_H8c ]. % 47.70/47.84 cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3)))) = ((op (e0) (e4)) = (op (e0) (op (e3) (e3))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H8e. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H8b. % 47.70/47.84 cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H8c]. % 47.70/47.84 cut (((op (e0) (op (e3) (e3))) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8f]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e3) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_H90 zenon_H89). % 47.70/47.84 apply zenon_H8c. apply refl_equal. % 47.70/47.84 apply zenon_H8c. apply refl_equal. % 47.70/47.84 apply zenon_H2d. apply refl_equal. % 47.70/47.84 apply zenon_H8c. apply refl_equal. % 47.70/47.84 apply zenon_H8c. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L22_ *) % 47.70/47.84 assert (zenon_L23_ : ((op (e0) (e0)) = (e0)) -> ((op (e3) (e4)) = (e0)) -> (~((e0) = (op (e0) (op (e3) (e4))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H11 zenon_H91 zenon_H92. % 47.70/47.84 elim (classic ((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4))))); [ zenon_intro zenon_H93 | zenon_intro zenon_H94 ]. % 47.70/47.84 cut (((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4)))) = ((e0) = (op (e0) (op (e3) (e4))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H92. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H93. % 47.70/47.84 cut (((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H94]. % 47.70/47.84 cut (((op (e0) (op (e3) (e4))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e3) (e4))) = (e0))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H95. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H11. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 cut (((op (e0) (e0)) = (op (e0) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H96]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4))))); [ zenon_intro zenon_H93 | zenon_intro zenon_H94 ]. % 47.70/47.84 cut (((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4)))) = ((op (e0) (e0)) = (op (e0) (op (e3) (e4))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H96. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H93. % 47.70/47.84 cut (((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H94]. % 47.70/47.84 cut (((op (e0) (op (e3) (e4))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H97]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e3) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_H98 zenon_H91). % 47.70/47.84 apply zenon_H94. apply refl_equal. % 47.70/47.84 apply zenon_H94. apply refl_equal. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 apply zenon_H94. apply refl_equal. % 47.70/47.84 apply zenon_H94. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L23_ *) % 47.70/47.84 assert (zenon_L24_ : ((op (e0) (e2)) = (e2)) -> ((op (e3) (e5)) = (e2)) -> (~((e2) = (op (e0) (op (e3) (e5))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H24 zenon_H99 zenon_H9a. % 47.70/47.84 elim (classic ((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5))))); [ zenon_intro zenon_H9b | zenon_intro zenon_H9c ]. % 47.70/47.84 cut (((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5)))) = ((e2) = (op (e0) (op (e3) (e5))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H9a. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H9b. % 47.70/47.84 cut (((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9c]. % 47.70/47.84 cut (((op (e0) (op (e3) (e5))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H9d]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e3) (e5))) = (e2))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H9d. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H24. % 47.70/47.84 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.84 cut (((op (e0) (e2)) = (op (e0) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9e]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5))))); [ zenon_intro zenon_H9b | zenon_intro zenon_H9c ]. % 47.70/47.84 cut (((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5)))) = ((op (e0) (e2)) = (op (e0) (op (e3) (e5))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H9e. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H9b. % 47.70/47.84 cut (((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9c]. % 47.70/47.84 cut (((op (e0) (op (e3) (e5))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9f]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e3) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_Ha0 zenon_H99). % 47.70/47.84 apply zenon_H9c. apply refl_equal. % 47.70/47.84 apply zenon_H9c. apply refl_equal. % 47.70/47.84 apply zenon_H6. apply refl_equal. % 47.70/47.84 apply zenon_H9c. apply refl_equal. % 47.70/47.84 apply zenon_H9c. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L24_ *) % 47.70/47.84 assert (zenon_L25_ : ((op (e0) (e4)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((e4) = (op (e0) (op (e4) (e0))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H38 zenon_Ha1 zenon_Ha2. % 47.70/47.84 elim (classic ((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0))))); [ zenon_intro zenon_Ha3 | zenon_intro zenon_Ha4 ]. % 47.70/47.84 cut (((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0)))) = ((e4) = (op (e0) (op (e4) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Ha2. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Ha3. % 47.70/47.84 cut (((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 47.70/47.84 cut (((op (e0) (op (e4) (e0))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e4)) = (e4)) = ((op (e0) (op (e4) (e0))) = (e4))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Ha5. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H38. % 47.70/47.84 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.84 cut (((op (e0) (e4)) = (op (e0) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha6]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0))))); [ zenon_intro zenon_Ha3 | zenon_intro zenon_Ha4 ]. % 47.70/47.84 cut (((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0)))) = ((op (e0) (e4)) = (op (e0) (op (e4) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Ha6. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Ha3. % 47.70/47.84 cut (((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 47.70/47.84 cut (((op (e0) (op (e4) (e0))) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_Ha8 zenon_Ha1). % 47.70/47.84 apply zenon_Ha4. apply refl_equal. % 47.70/47.84 apply zenon_Ha4. apply refl_equal. % 47.70/47.84 apply zenon_H2d. apply refl_equal. % 47.70/47.84 apply zenon_Ha4. apply refl_equal. % 47.70/47.84 apply zenon_Ha4. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L25_ *) % 47.70/47.84 assert (zenon_L26_ : ((op (e0) (e2)) = (e2)) -> ((op (e4) (e1)) = (e2)) -> (~((e2) = (op (e0) (op (e4) (e1))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H24 zenon_Ha9 zenon_Haa. % 47.70/47.84 elim (classic ((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1))))); [ zenon_intro zenon_Hab | zenon_intro zenon_Hac ]. % 47.70/47.84 cut (((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1)))) = ((e2) = (op (e0) (op (e4) (e1))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Haa. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hab. % 47.70/47.84 cut (((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hac]. % 47.70/47.84 cut (((op (e0) (op (e4) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Had]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e4) (e1))) = (e2))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Had. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H24. % 47.70/47.84 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.84 cut (((op (e0) (e2)) = (op (e0) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hae]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1))))); [ zenon_intro zenon_Hab | zenon_intro zenon_Hac ]. % 47.70/47.84 cut (((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1)))) = ((op (e0) (e2)) = (op (e0) (op (e4) (e1))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hae. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hab. % 47.70/47.84 cut (((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hac]. % 47.70/47.84 cut (((op (e0) (op (e4) (e1))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Haf]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_Hb0 zenon_Ha9). % 47.70/47.84 apply zenon_Hac. apply refl_equal. % 47.70/47.84 apply zenon_Hac. apply refl_equal. % 47.70/47.84 apply zenon_H6. apply refl_equal. % 47.70/47.84 apply zenon_Hac. apply refl_equal. % 47.70/47.84 apply zenon_Hac. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L26_ *) % 47.70/47.84 assert (zenon_L27_ : ((op (e0) (e5)) = (e5)) -> ((op (e4) (e2)) = (e5)) -> (~((e5) = (op (e0) (op (e4) (e2))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H2f zenon_Hb1 zenon_Hb2. % 47.70/47.84 elim (classic ((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2))))); [ zenon_intro zenon_Hb3 | zenon_intro zenon_Hb4 ]. % 47.70/47.84 cut (((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2)))) = ((e5) = (op (e0) (op (e4) (e2))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hb2. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hb3. % 47.70/47.84 cut (((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb4]. % 47.70/47.84 cut (((op (e0) (op (e4) (e2))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb5]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e5)) = (e5)) = ((op (e0) (op (e4) (e2))) = (e5))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hb5. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H2f. % 47.70/47.84 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.84 cut (((op (e0) (e5)) = (op (e0) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb6]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2))))); [ zenon_intro zenon_Hb3 | zenon_intro zenon_Hb4 ]. % 47.70/47.84 cut (((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2)))) = ((op (e0) (e5)) = (op (e0) (op (e4) (e2))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hb6. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hb3. % 47.70/47.84 cut (((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb4]. % 47.70/47.84 cut (((op (e0) (op (e4) (e2))) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb7]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_Hb8 zenon_Hb1). % 47.70/47.84 apply zenon_Hb4. apply refl_equal. % 47.70/47.84 apply zenon_Hb4. apply refl_equal. % 47.70/47.84 apply zenon_H2e. apply refl_equal. % 47.70/47.84 apply zenon_Hb4. apply refl_equal. % 47.70/47.84 apply zenon_Hb4. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L27_ *) % 47.70/47.84 assert (zenon_L28_ : ((op (e0) (e0)) = (e0)) -> ((op (e4) (e3)) = (e0)) -> (~((e0) = (op (e0) (op (e4) (e3))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H11 zenon_Hb9 zenon_Hba. % 47.70/47.84 elim (classic ((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3))))); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbc ]. % 47.70/47.84 cut (((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3)))) = ((e0) = (op (e0) (op (e4) (e3))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hba. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hbb. % 47.70/47.84 cut (((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hbc]. % 47.70/47.84 cut (((op (e0) (op (e4) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hbd]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e4) (e3))) = (e0))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hbd. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H11. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 cut (((op (e0) (e0)) = (op (e0) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hbe]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3))))); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbc ]. % 47.70/47.84 cut (((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3)))) = ((op (e0) (e0)) = (op (e0) (op (e4) (e3))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hbe. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hbb. % 47.70/47.84 cut (((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hbc]. % 47.70/47.84 cut (((op (e0) (op (e4) (e3))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hbf]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e4) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_Hc0 zenon_Hb9). % 47.70/47.84 apply zenon_Hbc. apply refl_equal. % 47.70/47.84 apply zenon_Hbc. apply refl_equal. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 apply zenon_Hbc. apply refl_equal. % 47.70/47.84 apply zenon_Hbc. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L28_ *) % 47.70/47.84 assert (zenon_L29_ : ((op (e0) (e3)) = (e3)) -> ((op (e4) (e4)) = (e3)) -> (~((e3) = (op (e0) (op (e4) (e4))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H1b zenon_Hc1 zenon_Hc2. % 47.70/47.84 elim (classic ((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4))))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc4 ]. % 47.70/47.84 cut (((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4)))) = ((e3) = (op (e0) (op (e4) (e4))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hc2. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hc3. % 47.70/47.84 cut (((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hc4]. % 47.70/47.84 cut (((op (e0) (op (e4) (e4))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc5]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e4) (e4))) = (e3))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hc5. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H1b. % 47.70/47.84 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.84 cut (((op (e0) (e3)) = (op (e0) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hc6]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4))))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc4 ]. % 47.70/47.84 cut (((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4)))) = ((op (e0) (e3)) = (op (e0) (op (e4) (e4))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hc6. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hc3. % 47.70/47.84 cut (((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hc4]. % 47.70/47.84 cut (((op (e0) (op (e4) (e4))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_Hc8 zenon_Hc1). % 47.70/47.84 apply zenon_Hc4. apply refl_equal. % 47.70/47.84 apply zenon_Hc4. apply refl_equal. % 47.70/47.84 apply zenon_H1a. apply refl_equal. % 47.70/47.84 apply zenon_Hc4. apply refl_equal. % 47.70/47.84 apply zenon_Hc4. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L29_ *) % 47.70/47.84 assert (zenon_L30_ : ((op (e0) (e1)) = (e1)) -> ((op (e4) (e5)) = (e1)) -> (~((e1) = (op (e0) (op (e4) (e5))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H8 zenon_Hc9 zenon_Hca. % 47.70/47.84 elim (classic ((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5))))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hcc ]. % 47.70/47.84 cut (((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5)))) = ((e1) = (op (e0) (op (e4) (e5))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hca. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hcb. % 47.70/47.84 cut (((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 47.70/47.84 cut (((op (e0) (op (e4) (e5))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hcd]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e4) (e5))) = (e1))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hcd. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H8. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 cut (((op (e0) (e1)) = (op (e0) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hce]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5))))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hcc ]. % 47.70/47.84 cut (((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5)))) = ((op (e0) (e1)) = (op (e0) (op (e4) (e5))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hce. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hcb. % 47.70/47.84 cut (((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 47.70/47.84 cut (((op (e0) (op (e4) (e5))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hcf]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e4) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_Hd0 zenon_Hc9). % 47.70/47.84 apply zenon_Hcc. apply refl_equal. % 47.70/47.84 apply zenon_Hcc. apply refl_equal. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 apply zenon_Hcc. apply refl_equal. % 47.70/47.84 apply zenon_Hcc. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L30_ *) % 47.70/47.84 assert (zenon_L31_ : ((op (e0) (e5)) = (e5)) -> ((op (e5) (e0)) = (e5)) -> (~((e5) = (op (e0) (op (e5) (e0))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H2f zenon_Hd1 zenon_Hd2. % 47.70/47.84 elim (classic ((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0))))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_Hd4 ]. % 47.70/47.84 cut (((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0)))) = ((e5) = (op (e0) (op (e5) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hd2. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hd3. % 47.70/47.84 cut (((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 47.70/47.84 cut (((op (e0) (op (e5) (e0))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd5]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e5)) = (e5)) = ((op (e0) (op (e5) (e0))) = (e5))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hd5. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H2f. % 47.70/47.84 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.84 cut (((op (e0) (e5)) = (op (e0) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hd6]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0))))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_Hd4 ]. % 47.70/47.84 cut (((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0)))) = ((op (e0) (e5)) = (op (e0) (op (e5) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hd6. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hd3. % 47.70/47.84 cut (((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 47.70/47.84 cut (((op (e0) (op (e5) (e0))) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hd7]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_Hd8 zenon_Hd1). % 47.70/47.84 apply zenon_Hd4. apply refl_equal. % 47.70/47.84 apply zenon_Hd4. apply refl_equal. % 47.70/47.84 apply zenon_H2e. apply refl_equal. % 47.70/47.84 apply zenon_Hd4. apply refl_equal. % 47.70/47.84 apply zenon_Hd4. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L31_ *) % 47.70/47.84 assert (zenon_L32_ : ((op (e0) (e3)) = (e3)) -> ((op (e5) (e1)) = (e3)) -> (~((e3) = (op (e0) (op (e5) (e1))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H1b zenon_Hd9 zenon_Hda. % 47.70/47.84 elim (classic ((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1))))); [ zenon_intro zenon_Hdb | zenon_intro zenon_Hdc ]. % 47.70/47.84 cut (((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1)))) = ((e3) = (op (e0) (op (e5) (e1))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hda. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hdb. % 47.70/47.84 cut (((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hdc]. % 47.70/47.84 cut (((op (e0) (op (e5) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hdd]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e5) (e1))) = (e3))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hdd. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H1b. % 47.70/47.84 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.84 cut (((op (e0) (e3)) = (op (e0) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hde]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1))))); [ zenon_intro zenon_Hdb | zenon_intro zenon_Hdc ]. % 47.70/47.84 cut (((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1)))) = ((op (e0) (e3)) = (op (e0) (op (e5) (e1))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hde. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hdb. % 47.70/47.84 cut (((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hdc]. % 47.70/47.84 cut (((op (e0) (op (e5) (e1))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hdf]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_He0 zenon_Hd9). % 47.70/47.84 apply zenon_Hdc. apply refl_equal. % 47.70/47.84 apply zenon_Hdc. apply refl_equal. % 47.70/47.84 apply zenon_H1a. apply refl_equal. % 47.70/47.84 apply zenon_Hdc. apply refl_equal. % 47.70/47.84 apply zenon_Hdc. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L32_ *) % 47.70/47.84 assert (zenon_L33_ : ((op (e0) (e4)) = (e4)) -> ((op (e5) (e2)) = (e4)) -> (~((e4) = (op (e0) (op (e5) (e2))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H38 zenon_He1 zenon_He2. % 47.70/47.84 elim (classic ((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2))))); [ zenon_intro zenon_He3 | zenon_intro zenon_He4 ]. % 47.70/47.84 cut (((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2)))) = ((e4) = (op (e0) (op (e5) (e2))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_He2. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_He3. % 47.70/47.84 cut (((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_He4]. % 47.70/47.84 cut (((op (e0) (op (e5) (e2))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_He5]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e4)) = (e4)) = ((op (e0) (op (e5) (e2))) = (e4))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_He5. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H38. % 47.70/47.84 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.84 cut (((op (e0) (e4)) = (op (e0) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_He6]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2))))); [ zenon_intro zenon_He3 | zenon_intro zenon_He4 ]. % 47.70/47.84 cut (((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2)))) = ((op (e0) (e4)) = (op (e0) (op (e5) (e2))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_He6. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_He3. % 47.70/47.84 cut (((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_He4]. % 47.70/47.84 cut (((op (e0) (op (e5) (e2))) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_He7]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e5) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_He8 zenon_He1). % 47.70/47.84 apply zenon_He4. apply refl_equal. % 47.70/47.84 apply zenon_He4. apply refl_equal. % 47.70/47.84 apply zenon_H2d. apply refl_equal. % 47.70/47.84 apply zenon_He4. apply refl_equal. % 47.70/47.84 apply zenon_He4. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L33_ *) % 47.70/47.84 assert (zenon_L34_ : ((op (e0) (e1)) = (e1)) -> ((op (e5) (e3)) = (e1)) -> (~((e1) = (op (e0) (op (e5) (e3))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H8 zenon_He9 zenon_Hea. % 47.70/47.84 elim (classic ((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3))))); [ zenon_intro zenon_Heb | zenon_intro zenon_Hec ]. % 47.70/47.84 cut (((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3)))) = ((e1) = (op (e0) (op (e5) (e3))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hea. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Heb. % 47.70/47.84 cut (((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hec]. % 47.70/47.84 cut (((op (e0) (op (e5) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hed]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e5) (e3))) = (e1))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hed. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H8. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 cut (((op (e0) (e1)) = (op (e0) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hee]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3))))); [ zenon_intro zenon_Heb | zenon_intro zenon_Hec ]. % 47.70/47.84 cut (((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3)))) = ((op (e0) (e1)) = (op (e0) (op (e5) (e3))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hee. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Heb. % 47.70/47.84 cut (((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hec]. % 47.70/47.84 cut (((op (e0) (op (e5) (e3))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hef]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e5) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_Hf0 zenon_He9). % 47.70/47.84 apply zenon_Hec. apply refl_equal. % 47.70/47.84 apply zenon_Hec. apply refl_equal. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 apply zenon_Hec. apply refl_equal. % 47.70/47.84 apply zenon_Hec. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L34_ *) % 47.70/47.84 assert (zenon_L35_ : ((op (e0) (e2)) = (e2)) -> ((op (e5) (e4)) = (e2)) -> (~((e2) = (op (e0) (op (e5) (e4))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H24 zenon_Hf1 zenon_Hf2. % 47.70/47.84 elim (classic ((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4))))); [ zenon_intro zenon_Hf3 | zenon_intro zenon_Hf4 ]. % 47.70/47.84 cut (((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4)))) = ((e2) = (op (e0) (op (e5) (e4))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hf2. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hf3. % 47.70/47.84 cut (((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hf4]. % 47.70/47.84 cut (((op (e0) (op (e5) (e4))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hf5]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e5) (e4))) = (e2))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hf5. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H24. % 47.70/47.84 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.84 cut (((op (e0) (e2)) = (op (e0) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hf6]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4))))); [ zenon_intro zenon_Hf3 | zenon_intro zenon_Hf4 ]. % 47.70/47.84 cut (((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4)))) = ((op (e0) (e2)) = (op (e0) (op (e5) (e4))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hf6. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hf3. % 47.70/47.84 cut (((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hf4]. % 47.70/47.84 cut (((op (e0) (op (e5) (e4))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hf7]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e5) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_Hf8 zenon_Hf1). % 47.70/47.84 apply zenon_Hf4. apply refl_equal. % 47.70/47.84 apply zenon_Hf4. apply refl_equal. % 47.70/47.84 apply zenon_H6. apply refl_equal. % 47.70/47.84 apply zenon_Hf4. apply refl_equal. % 47.70/47.84 apply zenon_Hf4. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L35_ *) % 47.70/47.84 assert (zenon_L36_ : ((op (e0) (e0)) = (e0)) -> ((op (e5) (e5)) = (e0)) -> (~((e0) = (op (e0) (op (e5) (e5))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H11 zenon_Hf9 zenon_Hfa. % 47.70/47.84 elim (classic ((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5))))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hfc ]. % 47.70/47.84 cut (((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5)))) = ((e0) = (op (e0) (op (e5) (e5))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hfa. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hfb. % 47.70/47.84 cut (((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hfc]. % 47.70/47.84 cut (((op (e0) (op (e5) (e5))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hfd]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e5) (e5))) = (e0))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hfd. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H11. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 cut (((op (e0) (e0)) = (op (e0) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hfe]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5))))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hfc ]. % 47.70/47.84 cut (((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5)))) = ((op (e0) (e0)) = (op (e0) (op (e5) (e5))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_Hfe. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_Hfb. % 47.70/47.84 cut (((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hfc]. % 47.70/47.84 cut (((op (e0) (op (e5) (e5))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hff]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e5) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 exact (zenon_H100 zenon_Hf9). % 47.70/47.84 apply zenon_Hfc. apply refl_equal. % 47.70/47.84 apply zenon_Hfc. apply refl_equal. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 apply zenon_Hfc. apply refl_equal. % 47.70/47.84 apply zenon_Hfc. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L36_ *) % 47.70/47.84 assert (zenon_L37_ : ((op (e1) (e2)) = (e3)) -> ((op (e2) (e0)) = (e2)) -> (~((e3) = (op (e1) (op (e2) (e0))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H1c zenon_H41 zenon_H101. % 47.70/47.84 elim (classic ((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [ zenon_intro zenon_H102 | zenon_intro zenon_H103 ]. % 47.70/47.84 cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0)))) = ((e3) = (op (e1) (op (e2) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H101. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H102. % 47.70/47.84 cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H103]. % 47.70/47.84 cut (((op (e1) (op (e2) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H104]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e2)) = (e3)) = ((op (e1) (op (e2) (e0))) = (e3))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H104. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H1c. % 47.70/47.84 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.84 cut (((op (e1) (e2)) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H105]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [ zenon_intro zenon_H102 | zenon_intro zenon_H103 ]. % 47.70/47.84 cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0)))) = ((op (e1) (e2)) = (op (e1) (op (e2) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H105. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H102. % 47.70/47.84 cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H103]. % 47.70/47.84 cut (((op (e1) (op (e2) (e0))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H106]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_H48 zenon_H41). % 47.70/47.84 apply zenon_H103. apply refl_equal. % 47.70/47.84 apply zenon_H103. apply refl_equal. % 47.70/47.84 apply zenon_H1a. apply refl_equal. % 47.70/47.84 apply zenon_H103. apply refl_equal. % 47.70/47.84 apply zenon_H103. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L37_ *) % 47.70/47.84 assert (zenon_L38_ : ((op (e1) (e4)) = (e5)) -> ((op (e2) (e1)) = (e4)) -> (~((e5) = (op (e1) (op (e2) (e1))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H30 zenon_H49 zenon_H107. % 47.70/47.84 elim (classic ((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 47.70/47.84 cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1)))) = ((e5) = (op (e1) (op (e2) (e1))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H107. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H108. % 47.70/47.84 cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 47.70/47.84 cut (((op (e1) (op (e2) (e1))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H10a]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e4)) = (e5)) = ((op (e1) (op (e2) (e1))) = (e5))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H10a. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H30. % 47.70/47.84 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.84 cut (((op (e1) (e4)) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H10b]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 47.70/47.84 cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1)))) = ((op (e1) (e4)) = (op (e1) (op (e2) (e1))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H10b. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H108. % 47.70/47.84 cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 47.70/47.84 cut (((op (e1) (op (e2) (e1))) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H10c]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_H50 zenon_H49). % 47.70/47.84 apply zenon_H109. apply refl_equal. % 47.70/47.84 apply zenon_H109. apply refl_equal. % 47.70/47.84 apply zenon_H2e. apply refl_equal. % 47.70/47.84 apply zenon_H109. apply refl_equal. % 47.70/47.84 apply zenon_H109. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L38_ *) % 47.70/47.84 assert (zenon_L39_ : ((op (e1) (e0)) = (e1)) -> ((op (e2) (e2)) = (e0)) -> (~((e1) = (op (e1) (op (e2) (e2))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H9 zenon_H51 zenon_H10d. % 47.70/47.84 elim (classic ((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [ zenon_intro zenon_H10e | zenon_intro zenon_H10f ]. % 47.70/47.84 cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2)))) = ((e1) = (op (e1) (op (e2) (e2))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H10d. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H10e. % 47.70/47.84 cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H10f]. % 47.70/47.84 cut (((op (e1) (op (e2) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H110]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e2) (e2))) = (e1))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H110. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H9. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 cut (((op (e1) (e0)) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H111]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [ zenon_intro zenon_H10e | zenon_intro zenon_H10f ]. % 47.70/47.84 cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2)))) = ((op (e1) (e0)) = (op (e1) (op (e2) (e2))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H111. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H10e. % 47.70/47.84 cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H10f]. % 47.70/47.84 cut (((op (e1) (op (e2) (e2))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H112]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e2) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_H58 zenon_H51). % 47.70/47.84 apply zenon_H10f. apply refl_equal. % 47.70/47.84 apply zenon_H10f. apply refl_equal. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 apply zenon_H10f. apply refl_equal. % 47.70/47.84 apply zenon_H10f. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L39_ *) % 47.70/47.84 assert (zenon_L40_ : ((op (e1) (e5)) = (e4)) -> ((op (e2) (e3)) = (e5)) -> (~((e4) = (op (e1) (op (e2) (e3))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H39 zenon_H59 zenon_H113. % 47.70/47.84 elim (classic ((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [ zenon_intro zenon_H114 | zenon_intro zenon_H115 ]. % 47.70/47.84 cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3)))) = ((e4) = (op (e1) (op (e2) (e3))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H113. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H114. % 47.70/47.84 cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H115]. % 47.70/47.84 cut (((op (e1) (op (e2) (e3))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H116]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e5)) = (e4)) = ((op (e1) (op (e2) (e3))) = (e4))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H116. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H39. % 47.70/47.84 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.84 cut (((op (e1) (e5)) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H117]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [ zenon_intro zenon_H114 | zenon_intro zenon_H115 ]. % 47.70/47.84 cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3)))) = ((op (e1) (e5)) = (op (e1) (op (e2) (e3))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H117. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H114. % 47.70/47.84 cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H115]. % 47.70/47.84 cut (((op (e1) (op (e2) (e3))) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H118]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e2) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_H60 zenon_H59). % 47.70/47.84 apply zenon_H115. apply refl_equal. % 47.70/47.84 apply zenon_H115. apply refl_equal. % 47.70/47.84 apply zenon_H2d. apply refl_equal. % 47.70/47.84 apply zenon_H115. apply refl_equal. % 47.70/47.84 apply zenon_H115. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L40_ *) % 47.70/47.84 assert (zenon_L41_ : ((op (e1) (e1)) = (e0)) -> ((op (e2) (e4)) = (e1)) -> (~((e0) = (op (e1) (op (e2) (e4))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H12 zenon_H61 zenon_H119. % 47.70/47.84 elim (classic ((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4))))); [ zenon_intro zenon_H11a | zenon_intro zenon_H11b ]. % 47.70/47.84 cut (((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4)))) = ((e0) = (op (e1) (op (e2) (e4))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H119. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H11a. % 47.70/47.84 cut (((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H11b]. % 47.70/47.84 cut (((op (e1) (op (e2) (e4))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H11c]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e1)) = (e0)) = ((op (e1) (op (e2) (e4))) = (e0))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H11c. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H12. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 cut (((op (e1) (e1)) = (op (e1) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H11d]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4))))); [ zenon_intro zenon_H11a | zenon_intro zenon_H11b ]. % 47.70/47.84 cut (((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4)))) = ((op (e1) (e1)) = (op (e1) (op (e2) (e4))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H11d. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H11a. % 47.70/47.84 cut (((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H11b]. % 47.70/47.84 cut (((op (e1) (op (e2) (e4))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H11e]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e2) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_H68 zenon_H61). % 47.70/47.84 apply zenon_H11b. apply refl_equal. % 47.70/47.84 apply zenon_H11b. apply refl_equal. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 apply zenon_H11b. apply refl_equal. % 47.70/47.84 apply zenon_H11b. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L41_ *) % 47.70/47.84 assert (zenon_L42_ : ((op (e1) (e3)) = (e2)) -> ((op (e2) (e5)) = (e3)) -> (~((e2) = (op (e1) (op (e2) (e5))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H25 zenon_H69 zenon_H11f. % 47.70/47.84 elim (classic ((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5))))); [ zenon_intro zenon_H120 | zenon_intro zenon_H121 ]. % 47.70/47.84 cut (((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5)))) = ((e2) = (op (e1) (op (e2) (e5))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H11f. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H120. % 47.70/47.84 cut (((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H121]. % 47.70/47.84 cut (((op (e1) (op (e2) (e5))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H122]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e3)) = (e2)) = ((op (e1) (op (e2) (e5))) = (e2))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H122. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H25. % 47.70/47.84 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.84 cut (((op (e1) (e3)) = (op (e1) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H123]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5))))); [ zenon_intro zenon_H120 | zenon_intro zenon_H121 ]. % 47.70/47.84 cut (((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5)))) = ((op (e1) (e3)) = (op (e1) (op (e2) (e5))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H123. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H120. % 47.70/47.84 cut (((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H121]. % 47.70/47.84 cut (((op (e1) (op (e2) (e5))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H124]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e2) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_H70 zenon_H69). % 47.70/47.84 apply zenon_H121. apply refl_equal. % 47.70/47.84 apply zenon_H121. apply refl_equal. % 47.70/47.84 apply zenon_H6. apply refl_equal. % 47.70/47.84 apply zenon_H121. apply refl_equal. % 47.70/47.84 apply zenon_H121. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L42_ *) % 47.70/47.84 assert (zenon_L43_ : ((op (e1) (e3)) = (e2)) -> ((op (e3) (e0)) = (e3)) -> (~((e2) = (op (e1) (op (e3) (e0))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H25 zenon_H71 zenon_H125. % 47.70/47.84 elim (classic ((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [ zenon_intro zenon_H126 | zenon_intro zenon_H127 ]. % 47.70/47.84 cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0)))) = ((e2) = (op (e1) (op (e3) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H125. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H126. % 47.70/47.84 cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H127]. % 47.70/47.84 cut (((op (e1) (op (e3) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H128]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e3)) = (e2)) = ((op (e1) (op (e3) (e0))) = (e2))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H128. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H25. % 47.70/47.84 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.84 cut (((op (e1) (e3)) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H129]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [ zenon_intro zenon_H126 | zenon_intro zenon_H127 ]. % 47.70/47.84 cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0)))) = ((op (e1) (e3)) = (op (e1) (op (e3) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H129. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H126. % 47.70/47.84 cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H127]. % 47.70/47.84 cut (((op (e1) (op (e3) (e0))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H12a]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_H78 zenon_H71). % 47.70/47.84 apply zenon_H127. apply refl_equal. % 47.70/47.84 apply zenon_H127. apply refl_equal. % 47.70/47.84 apply zenon_H6. apply refl_equal. % 47.70/47.84 apply zenon_H127. apply refl_equal. % 47.70/47.84 apply zenon_H127. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L43_ *) % 47.70/47.84 assert (zenon_L44_ : ((op (e1) (e5)) = (e4)) -> ((op (e3) (e1)) = (e5)) -> (~((e4) = (op (e1) (op (e3) (e1))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H39 zenon_H79 zenon_H12b. % 47.70/47.84 elim (classic ((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [ zenon_intro zenon_H12c | zenon_intro zenon_H12d ]. % 47.70/47.84 cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1)))) = ((e4) = (op (e1) (op (e3) (e1))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H12b. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H12c. % 47.70/47.84 cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H12d]. % 47.70/47.84 cut (((op (e1) (op (e3) (e1))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H12e]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e5)) = (e4)) = ((op (e1) (op (e3) (e1))) = (e4))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H12e. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H39. % 47.70/47.84 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.84 cut (((op (e1) (e5)) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H12f]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [ zenon_intro zenon_H12c | zenon_intro zenon_H12d ]. % 47.70/47.84 cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1)))) = ((op (e1) (e5)) = (op (e1) (op (e3) (e1))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H12f. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H12c. % 47.70/47.84 cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H12d]. % 47.70/47.84 cut (((op (e1) (op (e3) (e1))) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H130]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_H80 zenon_H79). % 47.70/47.84 apply zenon_H12d. apply refl_equal. % 47.70/47.84 apply zenon_H12d. apply refl_equal. % 47.70/47.84 apply zenon_H2d. apply refl_equal. % 47.70/47.84 apply zenon_H12d. apply refl_equal. % 47.70/47.84 apply zenon_H12d. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L44_ *) % 47.70/47.84 assert (zenon_L45_ : ((op (e1) (e1)) = (e0)) -> ((op (e3) (e2)) = (e1)) -> (~((e0) = (op (e1) (op (e3) (e2))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H12 zenon_H81 zenon_H131. % 47.70/47.84 elim (classic ((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [ zenon_intro zenon_H132 | zenon_intro zenon_H133 ]. % 47.70/47.84 cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2)))) = ((e0) = (op (e1) (op (e3) (e2))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H131. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H132. % 47.70/47.84 cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H133]. % 47.70/47.84 cut (((op (e1) (op (e3) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H134]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e1)) = (e0)) = ((op (e1) (op (e3) (e2))) = (e0))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H134. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H12. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 cut (((op (e1) (e1)) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H135]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [ zenon_intro zenon_H132 | zenon_intro zenon_H133 ]. % 47.70/47.84 cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2)))) = ((op (e1) (e1)) = (op (e1) (op (e3) (e2))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H135. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H132. % 47.70/47.84 cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H133]. % 47.70/47.84 cut (((op (e1) (op (e3) (e2))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H136]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_H88 zenon_H81). % 47.70/47.84 apply zenon_H133. apply refl_equal. % 47.70/47.84 apply zenon_H133. apply refl_equal. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 apply zenon_H133. apply refl_equal. % 47.70/47.84 apply zenon_H133. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L45_ *) % 47.70/47.84 assert (zenon_L46_ : ((op (e1) (e4)) = (e5)) -> ((op (e3) (e3)) = (e4)) -> (~((e5) = (op (e1) (op (e3) (e3))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H30 zenon_H89 zenon_H137. % 47.70/47.84 elim (classic ((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [ zenon_intro zenon_H138 | zenon_intro zenon_H139 ]. % 47.70/47.84 cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3)))) = ((e5) = (op (e1) (op (e3) (e3))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H137. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H138. % 47.70/47.84 cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H139]. % 47.70/47.84 cut (((op (e1) (op (e3) (e3))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H13a]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e4)) = (e5)) = ((op (e1) (op (e3) (e3))) = (e5))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H13a. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H30. % 47.70/47.84 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.84 cut (((op (e1) (e4)) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H13b]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [ zenon_intro zenon_H138 | zenon_intro zenon_H139 ]. % 47.70/47.84 cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3)))) = ((op (e1) (e4)) = (op (e1) (op (e3) (e3))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H13b. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H138. % 47.70/47.84 cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H139]. % 47.70/47.84 cut (((op (e1) (op (e3) (e3))) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H13c]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e3) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_H90 zenon_H89). % 47.70/47.84 apply zenon_H139. apply refl_equal. % 47.70/47.84 apply zenon_H139. apply refl_equal. % 47.70/47.84 apply zenon_H2e. apply refl_equal. % 47.70/47.84 apply zenon_H139. apply refl_equal. % 47.70/47.84 apply zenon_H139. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L46_ *) % 47.70/47.84 assert (zenon_L47_ : ((op (e1) (e0)) = (e1)) -> ((op (e3) (e4)) = (e0)) -> (~((e1) = (op (e1) (op (e3) (e4))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H9 zenon_H91 zenon_H13d. % 47.70/47.84 elim (classic ((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4))))); [ zenon_intro zenon_H13e | zenon_intro zenon_H13f ]. % 47.70/47.84 cut (((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4)))) = ((e1) = (op (e1) (op (e3) (e4))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H13d. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H13e. % 47.70/47.84 cut (((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H13f]. % 47.70/47.84 cut (((op (e1) (op (e3) (e4))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H140]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e3) (e4))) = (e1))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H140. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H9. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 cut (((op (e1) (e0)) = (op (e1) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H141]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4))))); [ zenon_intro zenon_H13e | zenon_intro zenon_H13f ]. % 47.70/47.84 cut (((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4)))) = ((op (e1) (e0)) = (op (e1) (op (e3) (e4))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H141. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H13e. % 47.70/47.84 cut (((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H13f]. % 47.70/47.84 cut (((op (e1) (op (e3) (e4))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H142]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e3) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_H98 zenon_H91). % 47.70/47.84 apply zenon_H13f. apply refl_equal. % 47.70/47.84 apply zenon_H13f. apply refl_equal. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 apply zenon_H13f. apply refl_equal. % 47.70/47.84 apply zenon_H13f. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L47_ *) % 47.70/47.84 assert (zenon_L48_ : ((op (e1) (e2)) = (e3)) -> ((op (e3) (e5)) = (e2)) -> (~((e3) = (op (e1) (op (e3) (e5))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H1c zenon_H99 zenon_H143. % 47.70/47.84 elim (classic ((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5))))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ]. % 47.70/47.84 cut (((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5)))) = ((e3) = (op (e1) (op (e3) (e5))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H143. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H144. % 47.70/47.84 cut (((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H145]. % 47.70/47.84 cut (((op (e1) (op (e3) (e5))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H146]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e2)) = (e3)) = ((op (e1) (op (e3) (e5))) = (e3))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H146. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H1c. % 47.70/47.84 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.84 cut (((op (e1) (e2)) = (op (e1) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H147]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5))))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ]. % 47.70/47.84 cut (((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5)))) = ((op (e1) (e2)) = (op (e1) (op (e3) (e5))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H147. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H144. % 47.70/47.84 cut (((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H145]. % 47.70/47.84 cut (((op (e1) (op (e3) (e5))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H148]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e3) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_Ha0 zenon_H99). % 47.70/47.84 apply zenon_H145. apply refl_equal. % 47.70/47.84 apply zenon_H145. apply refl_equal. % 47.70/47.84 apply zenon_H1a. apply refl_equal. % 47.70/47.84 apply zenon_H145. apply refl_equal. % 47.70/47.84 apply zenon_H145. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L48_ *) % 47.70/47.84 assert (zenon_L49_ : ((op (e1) (e4)) = (e5)) -> ((op (e4) (e0)) = (e4)) -> (~((e5) = (op (e1) (op (e4) (e0))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H30 zenon_Ha1 zenon_H149. % 47.70/47.84 elim (classic ((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0))))); [ zenon_intro zenon_H14a | zenon_intro zenon_H14b ]. % 47.70/47.84 cut (((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0)))) = ((e5) = (op (e1) (op (e4) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H149. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H14a. % 47.70/47.84 cut (((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H14b]. % 47.70/47.84 cut (((op (e1) (op (e4) (e0))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H14c]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e4)) = (e5)) = ((op (e1) (op (e4) (e0))) = (e5))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H14c. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H30. % 47.70/47.84 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.84 cut (((op (e1) (e4)) = (op (e1) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H14d]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0))))); [ zenon_intro zenon_H14a | zenon_intro zenon_H14b ]. % 47.70/47.84 cut (((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0)))) = ((op (e1) (e4)) = (op (e1) (op (e4) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H14d. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H14a. % 47.70/47.84 cut (((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H14b]. % 47.70/47.84 cut (((op (e1) (op (e4) (e0))) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H14e]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_Ha8 zenon_Ha1). % 47.70/47.84 apply zenon_H14b. apply refl_equal. % 47.70/47.84 apply zenon_H14b. apply refl_equal. % 47.70/47.84 apply zenon_H2e. apply refl_equal. % 47.70/47.84 apply zenon_H14b. apply refl_equal. % 47.70/47.84 apply zenon_H14b. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L49_ *) % 47.70/47.84 assert (zenon_L50_ : ((op (e1) (e2)) = (e3)) -> ((op (e4) (e1)) = (e2)) -> (~((e3) = (op (e1) (op (e4) (e1))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H1c zenon_Ha9 zenon_H14f. % 47.70/47.84 elim (classic ((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1))))); [ zenon_intro zenon_H150 | zenon_intro zenon_H151 ]. % 47.70/47.84 cut (((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1)))) = ((e3) = (op (e1) (op (e4) (e1))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H14f. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H150. % 47.70/47.84 cut (((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H151]. % 47.70/47.84 cut (((op (e1) (op (e4) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H152]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e2)) = (e3)) = ((op (e1) (op (e4) (e1))) = (e3))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H152. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H1c. % 47.70/47.84 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.84 cut (((op (e1) (e2)) = (op (e1) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H153]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1))))); [ zenon_intro zenon_H150 | zenon_intro zenon_H151 ]. % 47.70/47.84 cut (((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1)))) = ((op (e1) (e2)) = (op (e1) (op (e4) (e1))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H153. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H150. % 47.70/47.84 cut (((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H151]. % 47.70/47.84 cut (((op (e1) (op (e4) (e1))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H154]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_Hb0 zenon_Ha9). % 47.70/47.84 apply zenon_H151. apply refl_equal. % 47.70/47.84 apply zenon_H151. apply refl_equal. % 47.70/47.84 apply zenon_H1a. apply refl_equal. % 47.70/47.84 apply zenon_H151. apply refl_equal. % 47.70/47.84 apply zenon_H151. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L50_ *) % 47.70/47.84 assert (zenon_L51_ : ((op (e1) (e5)) = (e4)) -> ((op (e4) (e2)) = (e5)) -> (~((e4) = (op (e1) (op (e4) (e2))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H39 zenon_Hb1 zenon_H155. % 47.70/47.84 elim (classic ((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2))))); [ zenon_intro zenon_H156 | zenon_intro zenon_H157 ]. % 47.70/47.84 cut (((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2)))) = ((e4) = (op (e1) (op (e4) (e2))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H155. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H156. % 47.70/47.84 cut (((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H157]. % 47.70/47.84 cut (((op (e1) (op (e4) (e2))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H158]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e5)) = (e4)) = ((op (e1) (op (e4) (e2))) = (e4))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H158. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H39. % 47.70/47.84 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.84 cut (((op (e1) (e5)) = (op (e1) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H159]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2))))); [ zenon_intro zenon_H156 | zenon_intro zenon_H157 ]. % 47.70/47.84 cut (((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2)))) = ((op (e1) (e5)) = (op (e1) (op (e4) (e2))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H159. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H156. % 47.70/47.84 cut (((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H157]. % 47.70/47.84 cut (((op (e1) (op (e4) (e2))) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H15a]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_Hb8 zenon_Hb1). % 47.70/47.84 apply zenon_H157. apply refl_equal. % 47.70/47.84 apply zenon_H157. apply refl_equal. % 47.70/47.84 apply zenon_H2d. apply refl_equal. % 47.70/47.84 apply zenon_H157. apply refl_equal. % 47.70/47.84 apply zenon_H157. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L51_ *) % 47.70/47.84 assert (zenon_L52_ : ((op (e1) (e0)) = (e1)) -> ((op (e4) (e3)) = (e0)) -> (~((e1) = (op (e1) (op (e4) (e3))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H9 zenon_Hb9 zenon_H15b. % 47.70/47.84 elim (classic ((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3))))); [ zenon_intro zenon_H15c | zenon_intro zenon_H15d ]. % 47.70/47.84 cut (((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3)))) = ((e1) = (op (e1) (op (e4) (e3))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H15b. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H15c. % 47.70/47.84 cut (((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H15d]. % 47.70/47.84 cut (((op (e1) (op (e4) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H15e]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e4) (e3))) = (e1))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H15e. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H9. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 cut (((op (e1) (e0)) = (op (e1) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H15f]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3))))); [ zenon_intro zenon_H15c | zenon_intro zenon_H15d ]. % 47.70/47.84 cut (((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3)))) = ((op (e1) (e0)) = (op (e1) (op (e4) (e3))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H15f. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H15c. % 47.70/47.84 cut (((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H15d]. % 47.70/47.84 cut (((op (e1) (op (e4) (e3))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H160]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e4) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_Hc0 zenon_Hb9). % 47.70/47.84 apply zenon_H15d. apply refl_equal. % 47.70/47.84 apply zenon_H15d. apply refl_equal. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 apply zenon_H15d. apply refl_equal. % 47.70/47.84 apply zenon_H15d. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L52_ *) % 47.70/47.84 assert (zenon_L53_ : ((op (e1) (e3)) = (e2)) -> ((op (e4) (e4)) = (e3)) -> (~((e2) = (op (e1) (op (e4) (e4))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H25 zenon_Hc1 zenon_H161. % 47.70/47.84 elim (classic ((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4))))); [ zenon_intro zenon_H162 | zenon_intro zenon_H163 ]. % 47.70/47.84 cut (((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4)))) = ((e2) = (op (e1) (op (e4) (e4))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H161. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H162. % 47.70/47.84 cut (((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H163]. % 47.70/47.84 cut (((op (e1) (op (e4) (e4))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H164]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e3)) = (e2)) = ((op (e1) (op (e4) (e4))) = (e2))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H164. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H25. % 47.70/47.84 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.84 cut (((op (e1) (e3)) = (op (e1) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H165]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4))))); [ zenon_intro zenon_H162 | zenon_intro zenon_H163 ]. % 47.70/47.84 cut (((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4)))) = ((op (e1) (e3)) = (op (e1) (op (e4) (e4))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H165. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H162. % 47.70/47.84 cut (((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H163]. % 47.70/47.84 cut (((op (e1) (op (e4) (e4))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H166]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_Hc8 zenon_Hc1). % 47.70/47.84 apply zenon_H163. apply refl_equal. % 47.70/47.84 apply zenon_H163. apply refl_equal. % 47.70/47.84 apply zenon_H6. apply refl_equal. % 47.70/47.84 apply zenon_H163. apply refl_equal. % 47.70/47.84 apply zenon_H163. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L53_ *) % 47.70/47.84 assert (zenon_L54_ : ((op (e1) (e1)) = (e0)) -> ((op (e4) (e5)) = (e1)) -> (~((e0) = (op (e1) (op (e4) (e5))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H12 zenon_Hc9 zenon_H167. % 47.70/47.84 elim (classic ((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5))))); [ zenon_intro zenon_H168 | zenon_intro zenon_H169 ]. % 47.70/47.84 cut (((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5)))) = ((e0) = (op (e1) (op (e4) (e5))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H167. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H168. % 47.70/47.84 cut (((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H169]. % 47.70/47.84 cut (((op (e1) (op (e4) (e5))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H16a]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e1)) = (e0)) = ((op (e1) (op (e4) (e5))) = (e0))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H16a. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H12. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 cut (((op (e1) (e1)) = (op (e1) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H16b]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5))))); [ zenon_intro zenon_H168 | zenon_intro zenon_H169 ]. % 47.70/47.84 cut (((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5)))) = ((op (e1) (e1)) = (op (e1) (op (e4) (e5))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H16b. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H168. % 47.70/47.84 cut (((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H169]. % 47.70/47.84 cut (((op (e1) (op (e4) (e5))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H16c]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e4) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_Hd0 zenon_Hc9). % 47.70/47.84 apply zenon_H169. apply refl_equal. % 47.70/47.84 apply zenon_H169. apply refl_equal. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 apply zenon_H169. apply refl_equal. % 47.70/47.84 apply zenon_H169. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L54_ *) % 47.70/47.84 assert (zenon_L55_ : ((op (e1) (e5)) = (e4)) -> ((op (e5) (e0)) = (e5)) -> (~((e4) = (op (e1) (op (e5) (e0))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H39 zenon_Hd1 zenon_H16d. % 47.70/47.84 elim (classic ((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0))))); [ zenon_intro zenon_H16e | zenon_intro zenon_H16f ]. % 47.70/47.84 cut (((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0)))) = ((e4) = (op (e1) (op (e5) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H16d. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H16e. % 47.70/47.84 cut (((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H16f]. % 47.70/47.84 cut (((op (e1) (op (e5) (e0))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H170]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e5)) = (e4)) = ((op (e1) (op (e5) (e0))) = (e4))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H170. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H39. % 47.70/47.84 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.84 cut (((op (e1) (e5)) = (op (e1) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H171]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0))))); [ zenon_intro zenon_H16e | zenon_intro zenon_H16f ]. % 47.70/47.84 cut (((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0)))) = ((op (e1) (e5)) = (op (e1) (op (e5) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H171. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H16e. % 47.70/47.84 cut (((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H16f]. % 47.70/47.84 cut (((op (e1) (op (e5) (e0))) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H172]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_Hd8 zenon_Hd1). % 47.70/47.84 apply zenon_H16f. apply refl_equal. % 47.70/47.84 apply zenon_H16f. apply refl_equal. % 47.70/47.84 apply zenon_H2d. apply refl_equal. % 47.70/47.84 apply zenon_H16f. apply refl_equal. % 47.70/47.84 apply zenon_H16f. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L55_ *) % 47.70/47.84 assert (zenon_L56_ : ((op (e1) (e3)) = (e2)) -> ((op (e5) (e1)) = (e3)) -> (~((e2) = (op (e1) (op (e5) (e1))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H25 zenon_Hd9 zenon_H173. % 47.70/47.84 elim (classic ((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1))))); [ zenon_intro zenon_H174 | zenon_intro zenon_H175 ]. % 47.70/47.84 cut (((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1)))) = ((e2) = (op (e1) (op (e5) (e1))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H173. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H174. % 47.70/47.84 cut (((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H175]. % 47.70/47.84 cut (((op (e1) (op (e5) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H176]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e3)) = (e2)) = ((op (e1) (op (e5) (e1))) = (e2))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H176. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H25. % 47.70/47.84 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.84 cut (((op (e1) (e3)) = (op (e1) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H177]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1))))); [ zenon_intro zenon_H174 | zenon_intro zenon_H175 ]. % 47.70/47.84 cut (((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1)))) = ((op (e1) (e3)) = (op (e1) (op (e5) (e1))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H177. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H174. % 47.70/47.84 cut (((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H175]. % 47.70/47.84 cut (((op (e1) (op (e5) (e1))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H178]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_He0 zenon_Hd9). % 47.70/47.84 apply zenon_H175. apply refl_equal. % 47.70/47.84 apply zenon_H175. apply refl_equal. % 47.70/47.84 apply zenon_H6. apply refl_equal. % 47.70/47.84 apply zenon_H175. apply refl_equal. % 47.70/47.84 apply zenon_H175. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L56_ *) % 47.70/47.84 assert (zenon_L57_ : ((op (e1) (e4)) = (e5)) -> ((op (e5) (e2)) = (e4)) -> (~((e5) = (op (e1) (op (e5) (e2))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H30 zenon_He1 zenon_H179. % 47.70/47.84 elim (classic ((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2))))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17b ]. % 47.70/47.84 cut (((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2)))) = ((e5) = (op (e1) (op (e5) (e2))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H179. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H17a. % 47.70/47.84 cut (((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H17b]. % 47.70/47.84 cut (((op (e1) (op (e5) (e2))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H17c]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e4)) = (e5)) = ((op (e1) (op (e5) (e2))) = (e5))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H17c. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H30. % 47.70/47.84 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.84 cut (((op (e1) (e4)) = (op (e1) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H17d]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2))))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17b ]. % 47.70/47.84 cut (((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2)))) = ((op (e1) (e4)) = (op (e1) (op (e5) (e2))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H17d. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H17a. % 47.70/47.84 cut (((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H17b]. % 47.70/47.84 cut (((op (e1) (op (e5) (e2))) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H17e]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e5) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_He8 zenon_He1). % 47.70/47.84 apply zenon_H17b. apply refl_equal. % 47.70/47.84 apply zenon_H17b. apply refl_equal. % 47.70/47.84 apply zenon_H2e. apply refl_equal. % 47.70/47.84 apply zenon_H17b. apply refl_equal. % 47.70/47.84 apply zenon_H17b. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L57_ *) % 47.70/47.84 assert (zenon_L58_ : ((op (e1) (e1)) = (e0)) -> ((op (e5) (e3)) = (e1)) -> (~((e0) = (op (e1) (op (e5) (e3))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H12 zenon_He9 zenon_H17f. % 47.70/47.84 elim (classic ((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3))))); [ zenon_intro zenon_H180 | zenon_intro zenon_H181 ]. % 47.70/47.84 cut (((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3)))) = ((e0) = (op (e1) (op (e5) (e3))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H17f. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H180. % 47.70/47.84 cut (((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H181]. % 47.70/47.84 cut (((op (e1) (op (e5) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H182]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e1)) = (e0)) = ((op (e1) (op (e5) (e3))) = (e0))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H182. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H12. % 47.70/47.84 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.84 cut (((op (e1) (e1)) = (op (e1) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H183]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3))))); [ zenon_intro zenon_H180 | zenon_intro zenon_H181 ]. % 47.70/47.84 cut (((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3)))) = ((op (e1) (e1)) = (op (e1) (op (e5) (e3))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H183. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H180. % 47.70/47.84 cut (((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H181]. % 47.70/47.84 cut (((op (e1) (op (e5) (e3))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H184]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e5) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_Hf0 zenon_He9). % 47.70/47.84 apply zenon_H181. apply refl_equal. % 47.70/47.84 apply zenon_H181. apply refl_equal. % 47.70/47.84 apply zenon_H7. apply refl_equal. % 47.70/47.84 apply zenon_H181. apply refl_equal. % 47.70/47.84 apply zenon_H181. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L58_ *) % 47.70/47.84 assert (zenon_L59_ : ((op (e1) (e2)) = (e3)) -> ((op (e5) (e4)) = (e2)) -> (~((e3) = (op (e1) (op (e5) (e4))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H1c zenon_Hf1 zenon_H185. % 47.70/47.84 elim (classic ((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4))))); [ zenon_intro zenon_H186 | zenon_intro zenon_H187 ]. % 47.70/47.84 cut (((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4)))) = ((e3) = (op (e1) (op (e5) (e4))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H185. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H186. % 47.70/47.84 cut (((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H187]. % 47.70/47.84 cut (((op (e1) (op (e5) (e4))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H188]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e2)) = (e3)) = ((op (e1) (op (e5) (e4))) = (e3))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H188. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H1c. % 47.70/47.84 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.84 cut (((op (e1) (e2)) = (op (e1) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H189]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4))))); [ zenon_intro zenon_H186 | zenon_intro zenon_H187 ]. % 47.70/47.84 cut (((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4)))) = ((op (e1) (e2)) = (op (e1) (op (e5) (e4))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H189. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H186. % 47.70/47.84 cut (((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H187]. % 47.70/47.84 cut (((op (e1) (op (e5) (e4))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H18a]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e5) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_Hf8 zenon_Hf1). % 47.70/47.84 apply zenon_H187. apply refl_equal. % 47.70/47.84 apply zenon_H187. apply refl_equal. % 47.70/47.84 apply zenon_H1a. apply refl_equal. % 47.70/47.84 apply zenon_H187. apply refl_equal. % 47.70/47.84 apply zenon_H187. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L59_ *) % 47.70/47.84 assert (zenon_L60_ : ((op (e1) (e0)) = (e1)) -> ((op (e5) (e5)) = (e0)) -> (~((e1) = (op (e1) (op (e5) (e5))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H9 zenon_Hf9 zenon_H18b. % 47.70/47.84 elim (classic ((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5))))); [ zenon_intro zenon_H18c | zenon_intro zenon_H18d ]. % 47.70/47.84 cut (((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5)))) = ((e1) = (op (e1) (op (e5) (e5))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H18b. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H18c. % 47.70/47.84 cut (((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H18d]. % 47.70/47.84 cut (((op (e1) (op (e5) (e5))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H18e]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e5) (e5))) = (e1))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H18e. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H9. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 cut (((op (e1) (e0)) = (op (e1) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H18f]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5))))); [ zenon_intro zenon_H18c | zenon_intro zenon_H18d ]. % 47.70/47.84 cut (((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5)))) = ((op (e1) (e0)) = (op (e1) (op (e5) (e5))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H18f. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H18c. % 47.70/47.84 cut (((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H18d]. % 47.70/47.84 cut (((op (e1) (op (e5) (e5))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H190]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e5) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.70/47.84 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.84 congruence. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 exact (zenon_H100 zenon_Hf9). % 47.70/47.84 apply zenon_H18d. apply refl_equal. % 47.70/47.84 apply zenon_H18d. apply refl_equal. % 47.70/47.84 apply zenon_H5. apply refl_equal. % 47.70/47.84 apply zenon_H18d. apply refl_equal. % 47.70/47.84 apply zenon_H18d. apply refl_equal. % 47.70/47.84 (* end of lemma zenon_L60_ *) % 47.70/47.84 assert (zenon_L61_ : ((op (e2) (e1)) = (e4)) -> ((op (e1) (e0)) = (e1)) -> (~((e4) = (op (e2) (op (e1) (e0))))) -> False). % 47.70/47.84 do 0 intro. intros zenon_H49 zenon_H9 zenon_H191. % 47.70/47.84 elim (classic ((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [ zenon_intro zenon_H192 | zenon_intro zenon_H193 ]. % 47.70/47.84 cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0)))) = ((e4) = (op (e2) (op (e1) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H191. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H192. % 47.70/47.84 cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H193]. % 47.70/47.84 cut (((op (e2) (op (e1) (e0))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H194]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e2) (e1)) = (e4)) = ((op (e2) (op (e1) (e0))) = (e4))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H194. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H49. % 47.70/47.84 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.84 cut (((op (e2) (e1)) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H195]. % 47.70/47.84 congruence. % 47.70/47.84 elim (classic ((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [ zenon_intro zenon_H192 | zenon_intro zenon_H193 ]. % 47.70/47.84 cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0)))) = ((op (e2) (e1)) = (op (e2) (op (e1) (e0))))). % 47.70/47.84 intro zenon_D_pnotp. % 47.70/47.84 apply zenon_H195. % 47.70/47.84 rewrite <- zenon_D_pnotp. % 47.70/47.84 exact zenon_H192. % 47.70/47.84 cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H193]. % 47.70/47.84 cut (((op (e2) (op (e1) (e0))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H196]. % 47.70/47.84 congruence. % 47.70/47.84 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 47.70/47.84 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_H10 zenon_H9). % 47.70/47.85 apply zenon_H193. apply refl_equal. % 47.70/47.85 apply zenon_H193. apply refl_equal. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 apply zenon_H193. apply refl_equal. % 47.70/47.85 apply zenon_H193. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L61_ *) % 47.70/47.85 assert (zenon_L62_ : ((op (e2) (e0)) = (e2)) -> ((op (e1) (e1)) = (e0)) -> (~((e2) = (op (e2) (op (e1) (e1))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H41 zenon_H12 zenon_H197. % 47.70/47.85 elim (classic ((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [ zenon_intro zenon_H198 | zenon_intro zenon_H199 ]. % 47.70/47.85 cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1)))) = ((e2) = (op (e2) (op (e1) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H197. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H198. % 47.70/47.85 cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H199]. % 47.70/47.85 cut (((op (e2) (op (e1) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19a]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e1) (e1))) = (e2))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H19a. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H41. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 cut (((op (e2) (e0)) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H19b]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [ zenon_intro zenon_H198 | zenon_intro zenon_H199 ]. % 47.70/47.85 cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1)))) = ((op (e2) (e0)) = (op (e2) (op (e1) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H19b. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H198. % 47.70/47.85 cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H199]. % 47.70/47.85 cut (((op (e2) (op (e1) (e1))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H19c]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_H19 zenon_H12). % 47.70/47.85 apply zenon_H199. apply refl_equal. % 47.70/47.85 apply zenon_H199. apply refl_equal. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 apply zenon_H199. apply refl_equal. % 47.70/47.85 apply zenon_H199. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L62_ *) % 47.70/47.85 assert (zenon_L63_ : ((op (e2) (e3)) = (e5)) -> ((op (e1) (e2)) = (e3)) -> (~((e5) = (op (e2) (op (e1) (e2))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H59 zenon_H1c zenon_H19d. % 47.70/47.85 elim (classic ((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [ zenon_intro zenon_H19e | zenon_intro zenon_H19f ]. % 47.70/47.85 cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2)))) = ((e5) = (op (e2) (op (e1) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H19d. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H19e. % 47.70/47.85 cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H19f]. % 47.70/47.85 cut (((op (e2) (op (e1) (e2))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H1a0]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e3)) = (e5)) = ((op (e2) (op (e1) (e2))) = (e5))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1a0. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H59. % 47.70/47.85 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.85 cut (((op (e2) (e3)) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1a1]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [ zenon_intro zenon_H19e | zenon_intro zenon_H19f ]. % 47.70/47.85 cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2)))) = ((op (e2) (e3)) = (op (e2) (op (e1) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1a1. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H19e. % 47.70/47.85 cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H19f]. % 47.70/47.85 cut (((op (e2) (op (e1) (e2))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1a2]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_H23 zenon_H1c). % 47.70/47.85 apply zenon_H19f. apply refl_equal. % 47.70/47.85 apply zenon_H19f. apply refl_equal. % 47.70/47.85 apply zenon_H2e. apply refl_equal. % 47.70/47.85 apply zenon_H19f. apply refl_equal. % 47.70/47.85 apply zenon_H19f. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L63_ *) % 47.70/47.85 assert (zenon_L64_ : ((op (e2) (e2)) = (e0)) -> ((op (e1) (e3)) = (e2)) -> (~((e0) = (op (e2) (op (e1) (e3))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H51 zenon_H25 zenon_H1a3. % 47.70/47.85 elim (classic ((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [ zenon_intro zenon_H1a4 | zenon_intro zenon_H1a5 ]. % 47.70/47.85 cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3)))) = ((e0) = (op (e2) (op (e1) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1a3. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1a4. % 47.70/47.85 cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1a5]. % 47.70/47.85 cut (((op (e2) (op (e1) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H1a6]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e2)) = (e0)) = ((op (e2) (op (e1) (e3))) = (e0))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1a6. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H51. % 47.70/47.85 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.85 cut (((op (e2) (e2)) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1a7]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [ zenon_intro zenon_H1a4 | zenon_intro zenon_H1a5 ]. % 47.70/47.85 cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3)))) = ((op (e2) (e2)) = (op (e2) (op (e1) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1a7. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1a4. % 47.70/47.85 cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1a5]. % 47.70/47.85 cut (((op (e2) (op (e1) (e3))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1a8]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_H2c zenon_H25). % 47.70/47.85 apply zenon_H1a5. apply refl_equal. % 47.70/47.85 apply zenon_H1a5. apply refl_equal. % 47.70/47.85 apply zenon_H7. apply refl_equal. % 47.70/47.85 apply zenon_H1a5. apply refl_equal. % 47.70/47.85 apply zenon_H1a5. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L64_ *) % 47.70/47.85 assert (zenon_L65_ : ((op (e2) (e5)) = (e3)) -> ((op (e1) (e4)) = (e5)) -> (~((e3) = (op (e2) (op (e1) (e4))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H69 zenon_H30 zenon_H1a9. % 47.70/47.85 elim (classic ((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4))))); [ zenon_intro zenon_H1aa | zenon_intro zenon_H1ab ]. % 47.70/47.85 cut (((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4)))) = ((e3) = (op (e2) (op (e1) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1a9. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1aa. % 47.70/47.85 cut (((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1ab]. % 47.70/47.85 cut (((op (e2) (op (e1) (e4))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1ac]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e5)) = (e3)) = ((op (e2) (op (e1) (e4))) = (e3))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1ac. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H69. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 cut (((op (e2) (e5)) = (op (e2) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1ad]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4))))); [ zenon_intro zenon_H1aa | zenon_intro zenon_H1ab ]. % 47.70/47.85 cut (((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4)))) = ((op (e2) (e5)) = (op (e2) (op (e1) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1ad. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1aa. % 47.70/47.85 cut (((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1ab]. % 47.70/47.85 cut (((op (e2) (op (e1) (e4))) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H1ae]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_H37 zenon_H30). % 47.70/47.85 apply zenon_H1ab. apply refl_equal. % 47.70/47.85 apply zenon_H1ab. apply refl_equal. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 apply zenon_H1ab. apply refl_equal. % 47.70/47.85 apply zenon_H1ab. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L65_ *) % 47.70/47.85 assert (zenon_L66_ : ((op (e2) (e4)) = (e1)) -> ((op (e1) (e5)) = (e4)) -> (~((e1) = (op (e2) (op (e1) (e5))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H61 zenon_H39 zenon_H1af. % 47.70/47.85 elim (classic ((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5))))); [ zenon_intro zenon_H1b0 | zenon_intro zenon_H1b1 ]. % 47.70/47.85 cut (((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5)))) = ((e1) = (op (e2) (op (e1) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1af. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1b0. % 47.70/47.85 cut (((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1b1]. % 47.70/47.85 cut (((op (e2) (op (e1) (e5))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H1b2]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e4)) = (e1)) = ((op (e2) (op (e1) (e5))) = (e1))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1b2. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H61. % 47.70/47.85 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.85 cut (((op (e2) (e4)) = (op (e2) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1b3]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5))))); [ zenon_intro zenon_H1b0 | zenon_intro zenon_H1b1 ]. % 47.70/47.85 cut (((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5)))) = ((op (e2) (e4)) = (op (e2) (op (e1) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1b3. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1b0. % 47.70/47.85 cut (((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1b1]. % 47.70/47.85 cut (((op (e2) (op (e1) (e5))) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b4]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_H40 zenon_H39). % 47.70/47.85 apply zenon_H1b1. apply refl_equal. % 47.70/47.85 apply zenon_H1b1. apply refl_equal. % 47.70/47.85 apply zenon_H5. apply refl_equal. % 47.70/47.85 apply zenon_H1b1. apply refl_equal. % 47.70/47.85 apply zenon_H1b1. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L66_ *) % 47.70/47.85 assert (zenon_L67_ : ((op (e2) (e3)) = (e5)) -> ((op (e3) (e0)) = (e3)) -> (~((e5) = (op (e2) (op (e3) (e0))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H59 zenon_H71 zenon_H1b5. % 47.70/47.85 elim (classic ((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [ zenon_intro zenon_H1b6 | zenon_intro zenon_H1b7 ]. % 47.70/47.85 cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0)))) = ((e5) = (op (e2) (op (e3) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1b5. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1b6. % 47.70/47.85 cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1b7]. % 47.70/47.85 cut (((op (e2) (op (e3) (e0))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H1b8]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e3)) = (e5)) = ((op (e2) (op (e3) (e0))) = (e5))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1b8. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H59. % 47.70/47.85 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.85 cut (((op (e2) (e3)) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1b9]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [ zenon_intro zenon_H1b6 | zenon_intro zenon_H1b7 ]. % 47.70/47.85 cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0)))) = ((op (e2) (e3)) = (op (e2) (op (e3) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1b9. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1b6. % 47.70/47.85 cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1b7]. % 47.70/47.85 cut (((op (e2) (op (e3) (e0))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1ba]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_H78 zenon_H71). % 47.70/47.85 apply zenon_H1b7. apply refl_equal. % 47.70/47.85 apply zenon_H1b7. apply refl_equal. % 47.70/47.85 apply zenon_H2e. apply refl_equal. % 47.70/47.85 apply zenon_H1b7. apply refl_equal. % 47.70/47.85 apply zenon_H1b7. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L67_ *) % 47.70/47.85 assert (zenon_L68_ : ((op (e2) (e5)) = (e3)) -> ((op (e3) (e1)) = (e5)) -> (~((e3) = (op (e2) (op (e3) (e1))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H69 zenon_H79 zenon_H1bb. % 47.70/47.85 elim (classic ((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [ zenon_intro zenon_H1bc | zenon_intro zenon_H1bd ]. % 47.70/47.85 cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1)))) = ((e3) = (op (e2) (op (e3) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1bb. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1bc. % 47.70/47.85 cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1bd]. % 47.70/47.85 cut (((op (e2) (op (e3) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1be]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e5)) = (e3)) = ((op (e2) (op (e3) (e1))) = (e3))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1be. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H69. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 cut (((op (e2) (e5)) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1bf]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [ zenon_intro zenon_H1bc | zenon_intro zenon_H1bd ]. % 47.70/47.85 cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1)))) = ((op (e2) (e5)) = (op (e2) (op (e3) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1bf. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1bc. % 47.70/47.85 cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1bd]. % 47.70/47.85 cut (((op (e2) (op (e3) (e1))) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H1c0]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_H80 zenon_H79). % 47.70/47.85 apply zenon_H1bd. apply refl_equal. % 47.70/47.85 apply zenon_H1bd. apply refl_equal. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 apply zenon_H1bd. apply refl_equal. % 47.70/47.85 apply zenon_H1bd. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L68_ *) % 47.70/47.85 assert (zenon_L69_ : ((op (e2) (e1)) = (e4)) -> ((op (e3) (e2)) = (e1)) -> (~((e4) = (op (e2) (op (e3) (e2))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H49 zenon_H81 zenon_H1c1. % 47.70/47.85 elim (classic ((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H1c3 ]. % 47.70/47.85 cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2)))) = ((e4) = (op (e2) (op (e3) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1c1. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1c2. % 47.70/47.85 cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1c3]. % 47.70/47.85 cut (((op (e2) (op (e3) (e2))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1c4]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e1)) = (e4)) = ((op (e2) (op (e3) (e2))) = (e4))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1c4. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H49. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 cut (((op (e2) (e1)) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1c5]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H1c3 ]. % 47.70/47.85 cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2)))) = ((op (e2) (e1)) = (op (e2) (op (e3) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1c5. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1c2. % 47.70/47.85 cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1c3]. % 47.70/47.85 cut (((op (e2) (op (e3) (e2))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1c6]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_H88 zenon_H81). % 47.70/47.85 apply zenon_H1c3. apply refl_equal. % 47.70/47.85 apply zenon_H1c3. apply refl_equal. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 apply zenon_H1c3. apply refl_equal. % 47.70/47.85 apply zenon_H1c3. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L69_ *) % 47.70/47.85 assert (zenon_L70_ : ((op (e2) (e4)) = (e1)) -> ((op (e3) (e3)) = (e4)) -> (~((e1) = (op (e2) (op (e3) (e3))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H61 zenon_H89 zenon_H1c7. % 47.70/47.85 elim (classic ((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H1c9 ]. % 47.70/47.85 cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3)))) = ((e1) = (op (e2) (op (e3) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1c7. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1c8. % 47.70/47.85 cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1c9]. % 47.70/47.85 cut (((op (e2) (op (e3) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H1ca]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e4)) = (e1)) = ((op (e2) (op (e3) (e3))) = (e1))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1ca. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H61. % 47.70/47.85 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.85 cut (((op (e2) (e4)) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1cb]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H1c9 ]. % 47.70/47.85 cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3)))) = ((op (e2) (e4)) = (op (e2) (op (e3) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1cb. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1c8. % 47.70/47.85 cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1c9]. % 47.70/47.85 cut (((op (e2) (op (e3) (e3))) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1cc]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_H90 zenon_H89). % 47.70/47.85 apply zenon_H1c9. apply refl_equal. % 47.70/47.85 apply zenon_H1c9. apply refl_equal. % 47.70/47.85 apply zenon_H5. apply refl_equal. % 47.70/47.85 apply zenon_H1c9. apply refl_equal. % 47.70/47.85 apply zenon_H1c9. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L70_ *) % 47.70/47.85 assert (zenon_L71_ : ((op (e2) (e0)) = (e2)) -> ((op (e3) (e4)) = (e0)) -> (~((e2) = (op (e2) (op (e3) (e4))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H41 zenon_H91 zenon_H1cd. % 47.70/47.85 elim (classic ((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4))))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1cf ]. % 47.70/47.85 cut (((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4)))) = ((e2) = (op (e2) (op (e3) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1cd. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1ce. % 47.70/47.85 cut (((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1cf]. % 47.70/47.85 cut (((op (e2) (op (e3) (e4))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1d0]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e3) (e4))) = (e2))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1d0. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H41. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 cut (((op (e2) (e0)) = (op (e2) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1d1]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4))))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1cf ]. % 47.70/47.85 cut (((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4)))) = ((op (e2) (e0)) = (op (e2) (op (e3) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1d1. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1ce. % 47.70/47.85 cut (((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1cf]. % 47.70/47.85 cut (((op (e2) (op (e3) (e4))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1d2]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_H98 zenon_H91). % 47.70/47.85 apply zenon_H1cf. apply refl_equal. % 47.70/47.85 apply zenon_H1cf. apply refl_equal. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 apply zenon_H1cf. apply refl_equal. % 47.70/47.85 apply zenon_H1cf. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L71_ *) % 47.70/47.85 assert (zenon_L72_ : ((op (e2) (e2)) = (e0)) -> ((op (e3) (e5)) = (e2)) -> (~((e0) = (op (e2) (op (e3) (e5))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H51 zenon_H99 zenon_H1d3. % 47.70/47.85 elim (classic ((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5))))); [ zenon_intro zenon_H1d4 | zenon_intro zenon_H1d5 ]. % 47.70/47.85 cut (((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5)))) = ((e0) = (op (e2) (op (e3) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1d3. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1d4. % 47.70/47.85 cut (((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1d5]. % 47.70/47.85 cut (((op (e2) (op (e3) (e5))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H1d6]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e2)) = (e0)) = ((op (e2) (op (e3) (e5))) = (e0))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1d6. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H51. % 47.70/47.85 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.85 cut (((op (e2) (e2)) = (op (e2) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1d7]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5))))); [ zenon_intro zenon_H1d4 | zenon_intro zenon_H1d5 ]. % 47.70/47.85 cut (((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5)))) = ((op (e2) (e2)) = (op (e2) (op (e3) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1d7. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1d4. % 47.70/47.85 cut (((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1d5]. % 47.70/47.85 cut (((op (e2) (op (e3) (e5))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1d8]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_Ha0 zenon_H99). % 47.70/47.85 apply zenon_H1d5. apply refl_equal. % 47.70/47.85 apply zenon_H1d5. apply refl_equal. % 47.70/47.85 apply zenon_H7. apply refl_equal. % 47.70/47.85 apply zenon_H1d5. apply refl_equal. % 47.70/47.85 apply zenon_H1d5. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L72_ *) % 47.70/47.85 assert (zenon_L73_ : ((op (e2) (e4)) = (e1)) -> ((op (e4) (e0)) = (e4)) -> (~((e1) = (op (e2) (op (e4) (e0))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H61 zenon_Ha1 zenon_H1d9. % 47.70/47.85 elim (classic ((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0))))); [ zenon_intro zenon_H1da | zenon_intro zenon_H1db ]. % 47.70/47.85 cut (((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0)))) = ((e1) = (op (e2) (op (e4) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1d9. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1da. % 47.70/47.85 cut (((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1db]. % 47.70/47.85 cut (((op (e2) (op (e4) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H1dc]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e4)) = (e1)) = ((op (e2) (op (e4) (e0))) = (e1))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1dc. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H61. % 47.70/47.85 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.85 cut (((op (e2) (e4)) = (op (e2) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0))))); [ zenon_intro zenon_H1da | zenon_intro zenon_H1db ]. % 47.70/47.85 cut (((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0)))) = ((op (e2) (e4)) = (op (e2) (op (e4) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1dd. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1da. % 47.70/47.85 cut (((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1db]. % 47.70/47.85 cut (((op (e2) (op (e4) (e0))) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1de]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_Ha8 zenon_Ha1). % 47.70/47.85 apply zenon_H1db. apply refl_equal. % 47.70/47.85 apply zenon_H1db. apply refl_equal. % 47.70/47.85 apply zenon_H5. apply refl_equal. % 47.70/47.85 apply zenon_H1db. apply refl_equal. % 47.70/47.85 apply zenon_H1db. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L73_ *) % 47.70/47.85 assert (zenon_L74_ : ((op (e2) (e2)) = (e0)) -> ((op (e4) (e1)) = (e2)) -> (~((e0) = (op (e2) (op (e4) (e1))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H51 zenon_Ha9 zenon_H1df. % 47.70/47.85 elim (classic ((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1))))); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e1 ]. % 47.70/47.85 cut (((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1)))) = ((e0) = (op (e2) (op (e4) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1df. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1e0. % 47.70/47.85 cut (((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1e1]. % 47.70/47.85 cut (((op (e2) (op (e4) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H1e2]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e2)) = (e0)) = ((op (e2) (op (e4) (e1))) = (e0))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1e2. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H51. % 47.70/47.85 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.85 cut (((op (e2) (e2)) = (op (e2) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1e3]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1))))); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e1 ]. % 47.70/47.85 cut (((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1)))) = ((op (e2) (e2)) = (op (e2) (op (e4) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1e3. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1e0. % 47.70/47.85 cut (((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1e1]. % 47.70/47.85 cut (((op (e2) (op (e4) (e1))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1e4]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_Hb0 zenon_Ha9). % 47.70/47.85 apply zenon_H1e1. apply refl_equal. % 47.70/47.85 apply zenon_H1e1. apply refl_equal. % 47.70/47.85 apply zenon_H7. apply refl_equal. % 47.70/47.85 apply zenon_H1e1. apply refl_equal. % 47.70/47.85 apply zenon_H1e1. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L74_ *) % 47.70/47.85 assert (zenon_L75_ : ((op (e2) (e5)) = (e3)) -> ((op (e4) (e2)) = (e5)) -> (~((e3) = (op (e2) (op (e4) (e2))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H69 zenon_Hb1 zenon_H1e5. % 47.70/47.85 elim (classic ((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2))))); [ zenon_intro zenon_H1e6 | zenon_intro zenon_H1e7 ]. % 47.70/47.85 cut (((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2)))) = ((e3) = (op (e2) (op (e4) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1e5. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1e6. % 47.70/47.85 cut (((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1e7]. % 47.70/47.85 cut (((op (e2) (op (e4) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e8]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e5)) = (e3)) = ((op (e2) (op (e4) (e2))) = (e3))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1e8. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H69. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 cut (((op (e2) (e5)) = (op (e2) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1e9]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2))))); [ zenon_intro zenon_H1e6 | zenon_intro zenon_H1e7 ]. % 47.70/47.85 cut (((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2)))) = ((op (e2) (e5)) = (op (e2) (op (e4) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1e9. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1e6. % 47.70/47.85 cut (((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1e7]. % 47.70/47.85 cut (((op (e2) (op (e4) (e2))) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H1ea]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_Hb8 zenon_Hb1). % 47.70/47.85 apply zenon_H1e7. apply refl_equal. % 47.70/47.85 apply zenon_H1e7. apply refl_equal. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 apply zenon_H1e7. apply refl_equal. % 47.70/47.85 apply zenon_H1e7. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L75_ *) % 47.70/47.85 assert (zenon_L76_ : ((op (e2) (e0)) = (e2)) -> ((op (e4) (e3)) = (e0)) -> (~((e2) = (op (e2) (op (e4) (e3))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H41 zenon_Hb9 zenon_H1eb. % 47.70/47.85 elim (classic ((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3))))); [ zenon_intro zenon_H1ec | zenon_intro zenon_H1ed ]. % 47.70/47.85 cut (((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3)))) = ((e2) = (op (e2) (op (e4) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1eb. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1ec. % 47.70/47.85 cut (((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1ed]. % 47.70/47.85 cut (((op (e2) (op (e4) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1ee]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e4) (e3))) = (e2))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1ee. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H41. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 cut (((op (e2) (e0)) = (op (e2) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1ef]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3))))); [ zenon_intro zenon_H1ec | zenon_intro zenon_H1ed ]. % 47.70/47.85 cut (((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3)))) = ((op (e2) (e0)) = (op (e2) (op (e4) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1ef. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1ec. % 47.70/47.85 cut (((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1ed]. % 47.70/47.85 cut (((op (e2) (op (e4) (e3))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1f0]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_Hc0 zenon_Hb9). % 47.70/47.85 apply zenon_H1ed. apply refl_equal. % 47.70/47.85 apply zenon_H1ed. apply refl_equal. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 apply zenon_H1ed. apply refl_equal. % 47.70/47.85 apply zenon_H1ed. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L76_ *) % 47.70/47.85 assert (zenon_L77_ : ((op (e2) (e3)) = (e5)) -> ((op (e4) (e4)) = (e3)) -> (~((e5) = (op (e2) (op (e4) (e4))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H59 zenon_Hc1 zenon_H1f1. % 47.70/47.85 elim (classic ((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4))))); [ zenon_intro zenon_H1f2 | zenon_intro zenon_H1f3 ]. % 47.70/47.85 cut (((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4)))) = ((e5) = (op (e2) (op (e4) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1f1. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1f2. % 47.70/47.85 cut (((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1f3]. % 47.70/47.85 cut (((op (e2) (op (e4) (e4))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H1f4]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e3)) = (e5)) = ((op (e2) (op (e4) (e4))) = (e5))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1f4. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H59. % 47.70/47.85 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.85 cut (((op (e2) (e3)) = (op (e2) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1f5]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4))))); [ zenon_intro zenon_H1f2 | zenon_intro zenon_H1f3 ]. % 47.70/47.85 cut (((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4)))) = ((op (e2) (e3)) = (op (e2) (op (e4) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1f5. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1f2. % 47.70/47.85 cut (((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1f3]. % 47.70/47.85 cut (((op (e2) (op (e4) (e4))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1f6]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_Hc8 zenon_Hc1). % 47.70/47.85 apply zenon_H1f3. apply refl_equal. % 47.70/47.85 apply zenon_H1f3. apply refl_equal. % 47.70/47.85 apply zenon_H2e. apply refl_equal. % 47.70/47.85 apply zenon_H1f3. apply refl_equal. % 47.70/47.85 apply zenon_H1f3. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L77_ *) % 47.70/47.85 assert (zenon_L78_ : ((op (e2) (e1)) = (e4)) -> ((op (e4) (e5)) = (e1)) -> (~((e4) = (op (e2) (op (e4) (e5))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H49 zenon_Hc9 zenon_H1f7. % 47.70/47.85 elim (classic ((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5))))); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H1f9 ]. % 47.70/47.85 cut (((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5)))) = ((e4) = (op (e2) (op (e4) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1f7. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1f8. % 47.70/47.85 cut (((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1f9]. % 47.70/47.85 cut (((op (e2) (op (e4) (e5))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1fa]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e1)) = (e4)) = ((op (e2) (op (e4) (e5))) = (e4))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1fa. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H49. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 cut (((op (e2) (e1)) = (op (e2) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1fb]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5))))); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H1f9 ]. % 47.70/47.85 cut (((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5)))) = ((op (e2) (e1)) = (op (e2) (op (e4) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1fb. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1f8. % 47.70/47.85 cut (((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1f9]. % 47.70/47.85 cut (((op (e2) (op (e4) (e5))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1fc]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_Hd0 zenon_Hc9). % 47.70/47.85 apply zenon_H1f9. apply refl_equal. % 47.70/47.85 apply zenon_H1f9. apply refl_equal. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 apply zenon_H1f9. apply refl_equal. % 47.70/47.85 apply zenon_H1f9. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L78_ *) % 47.70/47.85 assert (zenon_L79_ : ((op (e2) (e5)) = (e3)) -> ((op (e5) (e0)) = (e5)) -> (~((e3) = (op (e2) (op (e5) (e0))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H69 zenon_Hd1 zenon_H1fd. % 47.70/47.85 elim (classic ((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0))))); [ zenon_intro zenon_H1fe | zenon_intro zenon_H1ff ]. % 47.70/47.85 cut (((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0)))) = ((e3) = (op (e2) (op (e5) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H1fd. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1fe. % 47.70/47.85 cut (((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1ff]. % 47.70/47.85 cut (((op (e2) (op (e5) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H200]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e5)) = (e3)) = ((op (e2) (op (e5) (e0))) = (e3))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H200. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H69. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 cut (((op (e2) (e5)) = (op (e2) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H201]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0))))); [ zenon_intro zenon_H1fe | zenon_intro zenon_H1ff ]. % 47.70/47.85 cut (((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0)))) = ((op (e2) (e5)) = (op (e2) (op (e5) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H201. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H1fe. % 47.70/47.85 cut (((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1ff]. % 47.70/47.85 cut (((op (e2) (op (e5) (e0))) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H202]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_Hd8 zenon_Hd1). % 47.70/47.85 apply zenon_H1ff. apply refl_equal. % 47.70/47.85 apply zenon_H1ff. apply refl_equal. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 apply zenon_H1ff. apply refl_equal. % 47.70/47.85 apply zenon_H1ff. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L79_ *) % 47.70/47.85 assert (zenon_L80_ : ((op (e2) (e3)) = (e5)) -> ((op (e5) (e1)) = (e3)) -> (~((e5) = (op (e2) (op (e5) (e1))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H59 zenon_Hd9 zenon_H203. % 47.70/47.85 elim (classic ((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1))))); [ zenon_intro zenon_H204 | zenon_intro zenon_H205 ]. % 47.70/47.85 cut (((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1)))) = ((e5) = (op (e2) (op (e5) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H203. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H204. % 47.70/47.85 cut (((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H205]. % 47.70/47.85 cut (((op (e2) (op (e5) (e1))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H206]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e3)) = (e5)) = ((op (e2) (op (e5) (e1))) = (e5))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H206. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H59. % 47.70/47.85 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.85 cut (((op (e2) (e3)) = (op (e2) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H207]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1))))); [ zenon_intro zenon_H204 | zenon_intro zenon_H205 ]. % 47.70/47.85 cut (((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1)))) = ((op (e2) (e3)) = (op (e2) (op (e5) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H207. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H204. % 47.70/47.85 cut (((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H205]. % 47.70/47.85 cut (((op (e2) (op (e5) (e1))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H208]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_He0 zenon_Hd9). % 47.70/47.85 apply zenon_H205. apply refl_equal. % 47.70/47.85 apply zenon_H205. apply refl_equal. % 47.70/47.85 apply zenon_H2e. apply refl_equal. % 47.70/47.85 apply zenon_H205. apply refl_equal. % 47.70/47.85 apply zenon_H205. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L80_ *) % 47.70/47.85 assert (zenon_L81_ : ((op (e2) (e4)) = (e1)) -> ((op (e5) (e2)) = (e4)) -> (~((e1) = (op (e2) (op (e5) (e2))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H61 zenon_He1 zenon_H209. % 47.70/47.85 elim (classic ((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2))))); [ zenon_intro zenon_H20a | zenon_intro zenon_H20b ]. % 47.70/47.85 cut (((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2)))) = ((e1) = (op (e2) (op (e5) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H209. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H20a. % 47.70/47.85 cut (((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H20b]. % 47.70/47.85 cut (((op (e2) (op (e5) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H20c]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e4)) = (e1)) = ((op (e2) (op (e5) (e2))) = (e1))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H20c. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H61. % 47.70/47.85 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.85 cut (((op (e2) (e4)) = (op (e2) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H20d]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2))))); [ zenon_intro zenon_H20a | zenon_intro zenon_H20b ]. % 47.70/47.85 cut (((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2)))) = ((op (e2) (e4)) = (op (e2) (op (e5) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H20d. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H20a. % 47.70/47.85 cut (((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H20b]. % 47.70/47.85 cut (((op (e2) (op (e5) (e2))) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H20e]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_He8 zenon_He1). % 47.70/47.85 apply zenon_H20b. apply refl_equal. % 47.70/47.85 apply zenon_H20b. apply refl_equal. % 47.70/47.85 apply zenon_H5. apply refl_equal. % 47.70/47.85 apply zenon_H20b. apply refl_equal. % 47.70/47.85 apply zenon_H20b. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L81_ *) % 47.70/47.85 assert (zenon_L82_ : ((op (e2) (e1)) = (e4)) -> ((op (e5) (e3)) = (e1)) -> (~((e4) = (op (e2) (op (e5) (e3))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H49 zenon_He9 zenon_H20f. % 47.70/47.85 elim (classic ((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3))))); [ zenon_intro zenon_H210 | zenon_intro zenon_H211 ]. % 47.70/47.85 cut (((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3)))) = ((e4) = (op (e2) (op (e5) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H20f. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H210. % 47.70/47.85 cut (((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H211]. % 47.70/47.85 cut (((op (e2) (op (e5) (e3))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H212]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e1)) = (e4)) = ((op (e2) (op (e5) (e3))) = (e4))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H212. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H49. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 cut (((op (e2) (e1)) = (op (e2) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H213]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3))))); [ zenon_intro zenon_H210 | zenon_intro zenon_H211 ]. % 47.70/47.85 cut (((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3)))) = ((op (e2) (e1)) = (op (e2) (op (e5) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H213. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H210. % 47.70/47.85 cut (((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H211]. % 47.70/47.85 cut (((op (e2) (op (e5) (e3))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H214]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_Hf0 zenon_He9). % 47.70/47.85 apply zenon_H211. apply refl_equal. % 47.70/47.85 apply zenon_H211. apply refl_equal. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 apply zenon_H211. apply refl_equal. % 47.70/47.85 apply zenon_H211. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L82_ *) % 47.70/47.85 assert (zenon_L83_ : ((op (e2) (e2)) = (e0)) -> ((op (e5) (e4)) = (e2)) -> (~((e0) = (op (e2) (op (e5) (e4))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H51 zenon_Hf1 zenon_H215. % 47.70/47.85 elim (classic ((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4))))); [ zenon_intro zenon_H216 | zenon_intro zenon_H217 ]. % 47.70/47.85 cut (((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4)))) = ((e0) = (op (e2) (op (e5) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H215. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H216. % 47.70/47.85 cut (((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H217]. % 47.70/47.85 cut (((op (e2) (op (e5) (e4))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H218]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e2)) = (e0)) = ((op (e2) (op (e5) (e4))) = (e0))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H218. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H51. % 47.70/47.85 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.85 cut (((op (e2) (e2)) = (op (e2) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H219]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4))))); [ zenon_intro zenon_H216 | zenon_intro zenon_H217 ]. % 47.70/47.85 cut (((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4)))) = ((op (e2) (e2)) = (op (e2) (op (e5) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H219. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H216. % 47.70/47.85 cut (((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H217]. % 47.70/47.85 cut (((op (e2) (op (e5) (e4))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H21a]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_Hf8 zenon_Hf1). % 47.70/47.85 apply zenon_H217. apply refl_equal. % 47.70/47.85 apply zenon_H217. apply refl_equal. % 47.70/47.85 apply zenon_H7. apply refl_equal. % 47.70/47.85 apply zenon_H217. apply refl_equal. % 47.70/47.85 apply zenon_H217. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L83_ *) % 47.70/47.85 assert (zenon_L84_ : ((op (e2) (e0)) = (e2)) -> ((op (e5) (e5)) = (e0)) -> (~((e2) = (op (e2) (op (e5) (e5))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H41 zenon_Hf9 zenon_H21b. % 47.70/47.85 elim (classic ((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5))))); [ zenon_intro zenon_H21c | zenon_intro zenon_H21d ]. % 47.70/47.85 cut (((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5)))) = ((e2) = (op (e2) (op (e5) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H21b. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H21c. % 47.70/47.85 cut (((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H21d]. % 47.70/47.85 cut (((op (e2) (op (e5) (e5))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H21e]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e5) (e5))) = (e2))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H21e. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H41. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 cut (((op (e2) (e0)) = (op (e2) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H21f]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5))))); [ zenon_intro zenon_H21c | zenon_intro zenon_H21d ]. % 47.70/47.85 cut (((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5)))) = ((op (e2) (e0)) = (op (e2) (op (e5) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H21f. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H21c. % 47.70/47.85 cut (((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H21d]. % 47.70/47.85 cut (((op (e2) (op (e5) (e5))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H220]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 exact (zenon_H100 zenon_Hf9). % 47.70/47.85 apply zenon_H21d. apply refl_equal. % 47.70/47.85 apply zenon_H21d. apply refl_equal. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 apply zenon_H21d. apply refl_equal. % 47.70/47.85 apply zenon_H21d. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L84_ *) % 47.70/47.85 assert (zenon_L85_ : ((op (e3) (e1)) = (e5)) -> ((op (e1) (e0)) = (e1)) -> (~((e5) = (op (e3) (op (e1) (e0))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H79 zenon_H9 zenon_H221. % 47.70/47.85 elim (classic ((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [ zenon_intro zenon_H222 | zenon_intro zenon_H223 ]. % 47.70/47.85 cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0)))) = ((e5) = (op (e3) (op (e1) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H221. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H222. % 47.70/47.85 cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H223]. % 47.70/47.85 cut (((op (e3) (op (e1) (e0))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H224]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e1)) = (e5)) = ((op (e3) (op (e1) (e0))) = (e5))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H224. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H79. % 47.70/47.85 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.85 cut (((op (e3) (e1)) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H225]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [ zenon_intro zenon_H222 | zenon_intro zenon_H223 ]. % 47.70/47.85 cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0)))) = ((op (e3) (e1)) = (op (e3) (op (e1) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H225. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H222. % 47.70/47.85 cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H223]. % 47.70/47.85 cut (((op (e3) (op (e1) (e0))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H226]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H10 zenon_H9). % 47.70/47.85 apply zenon_H223. apply refl_equal. % 47.70/47.85 apply zenon_H223. apply refl_equal. % 47.70/47.85 apply zenon_H2e. apply refl_equal. % 47.70/47.85 apply zenon_H223. apply refl_equal. % 47.70/47.85 apply zenon_H223. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L85_ *) % 47.70/47.85 assert (zenon_L86_ : ((op (e3) (e0)) = (e3)) -> ((op (e1) (e1)) = (e0)) -> (~((e3) = (op (e3) (op (e1) (e1))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H71 zenon_H12 zenon_H227. % 47.70/47.85 elim (classic ((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [ zenon_intro zenon_H228 | zenon_intro zenon_H229 ]. % 47.70/47.85 cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1)))) = ((e3) = (op (e3) (op (e1) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H227. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H228. % 47.70/47.85 cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H229]. % 47.70/47.85 cut (((op (e3) (op (e1) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H22a]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e1) (e1))) = (e3))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H22a. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H71. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 cut (((op (e3) (e0)) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H22b]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [ zenon_intro zenon_H228 | zenon_intro zenon_H229 ]. % 47.70/47.85 cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1)))) = ((op (e3) (e0)) = (op (e3) (op (e1) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H22b. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H228. % 47.70/47.85 cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H229]. % 47.70/47.85 cut (((op (e3) (op (e1) (e1))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H22c]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H19 zenon_H12). % 47.70/47.85 apply zenon_H229. apply refl_equal. % 47.70/47.85 apply zenon_H229. apply refl_equal. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 apply zenon_H229. apply refl_equal. % 47.70/47.85 apply zenon_H229. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L86_ *) % 47.70/47.85 assert (zenon_L87_ : ((op (e3) (e3)) = (e4)) -> ((op (e1) (e2)) = (e3)) -> (~((e4) = (op (e3) (op (e1) (e2))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H89 zenon_H1c zenon_H22d. % 47.70/47.85 elim (classic ((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [ zenon_intro zenon_H22e | zenon_intro zenon_H22f ]. % 47.70/47.85 cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2)))) = ((e4) = (op (e3) (op (e1) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H22d. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H22e. % 47.70/47.85 cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H22f]. % 47.70/47.85 cut (((op (e3) (op (e1) (e2))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H230]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e3)) = (e4)) = ((op (e3) (op (e1) (e2))) = (e4))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H230. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H89. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 cut (((op (e3) (e3)) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H231]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [ zenon_intro zenon_H22e | zenon_intro zenon_H22f ]. % 47.70/47.85 cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2)))) = ((op (e3) (e3)) = (op (e3) (op (e1) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H231. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H22e. % 47.70/47.85 cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H22f]. % 47.70/47.85 cut (((op (e3) (op (e1) (e2))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H232]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H23 zenon_H1c). % 47.70/47.85 apply zenon_H22f. apply refl_equal. % 47.70/47.85 apply zenon_H22f. apply refl_equal. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 apply zenon_H22f. apply refl_equal. % 47.70/47.85 apply zenon_H22f. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L87_ *) % 47.70/47.85 assert (zenon_L88_ : ((op (e3) (e2)) = (e1)) -> ((op (e1) (e3)) = (e2)) -> (~((e1) = (op (e3) (op (e1) (e3))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H81 zenon_H25 zenon_H233. % 47.70/47.85 elim (classic ((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [ zenon_intro zenon_H234 | zenon_intro zenon_H235 ]. % 47.70/47.85 cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3)))) = ((e1) = (op (e3) (op (e1) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H233. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H234. % 47.70/47.85 cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H235]. % 47.70/47.85 cut (((op (e3) (op (e1) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H236]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e2)) = (e1)) = ((op (e3) (op (e1) (e3))) = (e1))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H236. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H81. % 47.70/47.85 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.85 cut (((op (e3) (e2)) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H237]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [ zenon_intro zenon_H234 | zenon_intro zenon_H235 ]. % 47.70/47.85 cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3)))) = ((op (e3) (e2)) = (op (e3) (op (e1) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H237. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H234. % 47.70/47.85 cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H235]. % 47.70/47.85 cut (((op (e3) (op (e1) (e3))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H238]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H2c zenon_H25). % 47.70/47.85 apply zenon_H235. apply refl_equal. % 47.70/47.85 apply zenon_H235. apply refl_equal. % 47.70/47.85 apply zenon_H5. apply refl_equal. % 47.70/47.85 apply zenon_H235. apply refl_equal. % 47.70/47.85 apply zenon_H235. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L88_ *) % 47.70/47.85 assert (zenon_L89_ : ((op (e3) (e5)) = (e2)) -> ((op (e1) (e4)) = (e5)) -> (~((e2) = (op (e3) (op (e1) (e4))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H99 zenon_H30 zenon_H239. % 47.70/47.85 elim (classic ((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4))))); [ zenon_intro zenon_H23a | zenon_intro zenon_H23b ]. % 47.70/47.85 cut (((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4)))) = ((e2) = (op (e3) (op (e1) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H239. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H23a. % 47.70/47.85 cut (((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H23b]. % 47.70/47.85 cut (((op (e3) (op (e1) (e4))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H23c]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e5)) = (e2)) = ((op (e3) (op (e1) (e4))) = (e2))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H23c. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H99. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 cut (((op (e3) (e5)) = (op (e3) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H23d]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4))))); [ zenon_intro zenon_H23a | zenon_intro zenon_H23b ]. % 47.70/47.85 cut (((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4)))) = ((op (e3) (e5)) = (op (e3) (op (e1) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H23d. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H23a. % 47.70/47.85 cut (((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H23b]. % 47.70/47.85 cut (((op (e3) (op (e1) (e4))) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H23e]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H37 zenon_H30). % 47.70/47.85 apply zenon_H23b. apply refl_equal. % 47.70/47.85 apply zenon_H23b. apply refl_equal. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 apply zenon_H23b. apply refl_equal. % 47.70/47.85 apply zenon_H23b. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L89_ *) % 47.70/47.85 assert (zenon_L90_ : ((op (e3) (e4)) = (e0)) -> ((op (e1) (e5)) = (e4)) -> (~((e0) = (op (e3) (op (e1) (e5))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H91 zenon_H39 zenon_H23f. % 47.70/47.85 elim (classic ((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5))))); [ zenon_intro zenon_H240 | zenon_intro zenon_H241 ]. % 47.70/47.85 cut (((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5)))) = ((e0) = (op (e3) (op (e1) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H23f. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H240. % 47.70/47.85 cut (((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H241]. % 47.70/47.85 cut (((op (e3) (op (e1) (e5))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H242]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e4)) = (e0)) = ((op (e3) (op (e1) (e5))) = (e0))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H242. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H91. % 47.70/47.85 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.85 cut (((op (e3) (e4)) = (op (e3) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H243]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5))))); [ zenon_intro zenon_H240 | zenon_intro zenon_H241 ]. % 47.70/47.85 cut (((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5)))) = ((op (e3) (e4)) = (op (e3) (op (e1) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H243. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H240. % 47.70/47.85 cut (((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H241]. % 47.70/47.85 cut (((op (e3) (op (e1) (e5))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H244]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H40 zenon_H39). % 47.70/47.85 apply zenon_H241. apply refl_equal. % 47.70/47.85 apply zenon_H241. apply refl_equal. % 47.70/47.85 apply zenon_H7. apply refl_equal. % 47.70/47.85 apply zenon_H241. apply refl_equal. % 47.70/47.85 apply zenon_H241. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L90_ *) % 47.70/47.85 assert (zenon_L91_ : ((op (e3) (e2)) = (e1)) -> ((op (e2) (e0)) = (e2)) -> (~((e1) = (op (e3) (op (e2) (e0))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H81 zenon_H41 zenon_H245. % 47.70/47.85 elim (classic ((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [ zenon_intro zenon_H246 | zenon_intro zenon_H247 ]. % 47.70/47.85 cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0)))) = ((e1) = (op (e3) (op (e2) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H245. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H246. % 47.70/47.85 cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H247]. % 47.70/47.85 cut (((op (e3) (op (e2) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H248]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e2)) = (e1)) = ((op (e3) (op (e2) (e0))) = (e1))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H248. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H81. % 47.70/47.85 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.85 cut (((op (e3) (e2)) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H249]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [ zenon_intro zenon_H246 | zenon_intro zenon_H247 ]. % 47.70/47.85 cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0)))) = ((op (e3) (e2)) = (op (e3) (op (e2) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H249. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H246. % 47.70/47.85 cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H247]. % 47.70/47.85 cut (((op (e3) (op (e2) (e0))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H24a]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H48 zenon_H41). % 47.70/47.85 apply zenon_H247. apply refl_equal. % 47.70/47.85 apply zenon_H247. apply refl_equal. % 47.70/47.85 apply zenon_H5. apply refl_equal. % 47.70/47.85 apply zenon_H247. apply refl_equal. % 47.70/47.85 apply zenon_H247. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L91_ *) % 47.70/47.85 assert (zenon_L92_ : ((op (e3) (e4)) = (e0)) -> ((op (e2) (e1)) = (e4)) -> (~((e0) = (op (e3) (op (e2) (e1))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H91 zenon_H49 zenon_H24b. % 47.70/47.85 elim (classic ((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [ zenon_intro zenon_H24c | zenon_intro zenon_H24d ]. % 47.70/47.85 cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1)))) = ((e0) = (op (e3) (op (e2) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H24b. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H24c. % 47.70/47.85 cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H24d]. % 47.70/47.85 cut (((op (e3) (op (e2) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H24e]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e4)) = (e0)) = ((op (e3) (op (e2) (e1))) = (e0))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H24e. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H91. % 47.70/47.85 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.85 cut (((op (e3) (e4)) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H24f]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [ zenon_intro zenon_H24c | zenon_intro zenon_H24d ]. % 47.70/47.85 cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1)))) = ((op (e3) (e4)) = (op (e3) (op (e2) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H24f. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H24c. % 47.70/47.85 cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H24d]. % 47.70/47.85 cut (((op (e3) (op (e2) (e1))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H250]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H50 zenon_H49). % 47.70/47.85 apply zenon_H24d. apply refl_equal. % 47.70/47.85 apply zenon_H24d. apply refl_equal. % 47.70/47.85 apply zenon_H7. apply refl_equal. % 47.70/47.85 apply zenon_H24d. apply refl_equal. % 47.70/47.85 apply zenon_H24d. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L92_ *) % 47.70/47.85 assert (zenon_L93_ : ((op (e3) (e0)) = (e3)) -> ((op (e2) (e2)) = (e0)) -> (~((e3) = (op (e3) (op (e2) (e2))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H71 zenon_H51 zenon_H251. % 47.70/47.85 elim (classic ((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [ zenon_intro zenon_H252 | zenon_intro zenon_H253 ]. % 47.70/47.85 cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2)))) = ((e3) = (op (e3) (op (e2) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H251. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H252. % 47.70/47.85 cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H253]. % 47.70/47.85 cut (((op (e3) (op (e2) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H254]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e2) (e2))) = (e3))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H254. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H71. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 cut (((op (e3) (e0)) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H255]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [ zenon_intro zenon_H252 | zenon_intro zenon_H253 ]. % 47.70/47.85 cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2)))) = ((op (e3) (e0)) = (op (e3) (op (e2) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H255. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H252. % 47.70/47.85 cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H253]. % 47.70/47.85 cut (((op (e3) (op (e2) (e2))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H256]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H58 zenon_H51). % 47.70/47.85 apply zenon_H253. apply refl_equal. % 47.70/47.85 apply zenon_H253. apply refl_equal. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 apply zenon_H253. apply refl_equal. % 47.70/47.85 apply zenon_H253. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L93_ *) % 47.70/47.85 assert (zenon_L94_ : ((op (e3) (e5)) = (e2)) -> ((op (e2) (e3)) = (e5)) -> (~((e2) = (op (e3) (op (e2) (e3))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H99 zenon_H59 zenon_H257. % 47.70/47.85 elim (classic ((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ]. % 47.70/47.85 cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3)))) = ((e2) = (op (e3) (op (e2) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H257. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H258. % 47.70/47.85 cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H259]. % 47.70/47.85 cut (((op (e3) (op (e2) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H25a]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e5)) = (e2)) = ((op (e3) (op (e2) (e3))) = (e2))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H25a. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H99. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 cut (((op (e3) (e5)) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H25b]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ]. % 47.70/47.85 cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3)))) = ((op (e3) (e5)) = (op (e3) (op (e2) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H25b. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H258. % 47.70/47.85 cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H259]. % 47.70/47.85 cut (((op (e3) (op (e2) (e3))) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H25c]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H60 zenon_H59). % 47.70/47.85 apply zenon_H259. apply refl_equal. % 47.70/47.85 apply zenon_H259. apply refl_equal. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 apply zenon_H259. apply refl_equal. % 47.70/47.85 apply zenon_H259. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L94_ *) % 47.70/47.85 assert (zenon_L95_ : ((op (e3) (e1)) = (e5)) -> ((op (e2) (e4)) = (e1)) -> (~((e5) = (op (e3) (op (e2) (e4))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H79 zenon_H61 zenon_H25d. % 47.70/47.85 elim (classic ((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4))))); [ zenon_intro zenon_H25e | zenon_intro zenon_H25f ]. % 47.70/47.85 cut (((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4)))) = ((e5) = (op (e3) (op (e2) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H25d. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H25e. % 47.70/47.85 cut (((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H25f]. % 47.70/47.85 cut (((op (e3) (op (e2) (e4))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H260]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e1)) = (e5)) = ((op (e3) (op (e2) (e4))) = (e5))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H260. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H79. % 47.70/47.85 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.85 cut (((op (e3) (e1)) = (op (e3) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H261]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4))))); [ zenon_intro zenon_H25e | zenon_intro zenon_H25f ]. % 47.70/47.85 cut (((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4)))) = ((op (e3) (e1)) = (op (e3) (op (e2) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H261. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H25e. % 47.70/47.85 cut (((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H25f]. % 47.70/47.85 cut (((op (e3) (op (e2) (e4))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H262]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H68 zenon_H61). % 47.70/47.85 apply zenon_H25f. apply refl_equal. % 47.70/47.85 apply zenon_H25f. apply refl_equal. % 47.70/47.85 apply zenon_H2e. apply refl_equal. % 47.70/47.85 apply zenon_H25f. apply refl_equal. % 47.70/47.85 apply zenon_H25f. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L95_ *) % 47.70/47.85 assert (zenon_L96_ : ((op (e3) (e3)) = (e4)) -> ((op (e2) (e5)) = (e3)) -> (~((e4) = (op (e3) (op (e2) (e5))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H89 zenon_H69 zenon_H263. % 47.70/47.85 elim (classic ((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5))))); [ zenon_intro zenon_H264 | zenon_intro zenon_H265 ]. % 47.70/47.85 cut (((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5)))) = ((e4) = (op (e3) (op (e2) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H263. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H264. % 47.70/47.85 cut (((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H265]. % 47.70/47.85 cut (((op (e3) (op (e2) (e5))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H266]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e3)) = (e4)) = ((op (e3) (op (e2) (e5))) = (e4))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H266. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H89. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 cut (((op (e3) (e3)) = (op (e3) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H267]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5))))); [ zenon_intro zenon_H264 | zenon_intro zenon_H265 ]. % 47.70/47.85 cut (((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5)))) = ((op (e3) (e3)) = (op (e3) (op (e2) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H267. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H264. % 47.70/47.85 cut (((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H265]. % 47.70/47.85 cut (((op (e3) (op (e2) (e5))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H268]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H70 zenon_H69). % 47.70/47.85 apply zenon_H265. apply refl_equal. % 47.70/47.85 apply zenon_H265. apply refl_equal. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 apply zenon_H265. apply refl_equal. % 47.70/47.85 apply zenon_H265. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L96_ *) % 47.70/47.85 assert (zenon_L97_ : ((op (e3) (e3)) = (e4)) -> ((op (e3) (e0)) = (e3)) -> (~((e4) = (op (e3) (op (e3) (e0))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H89 zenon_H71 zenon_H269. % 47.70/47.85 elim (classic ((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [ zenon_intro zenon_H26a | zenon_intro zenon_H26b ]. % 47.70/47.85 cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0)))) = ((e4) = (op (e3) (op (e3) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H269. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H26a. % 47.70/47.85 cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H26b]. % 47.70/47.85 cut (((op (e3) (op (e3) (e0))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H26c]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e3)) = (e4)) = ((op (e3) (op (e3) (e0))) = (e4))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H26c. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H89. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 cut (((op (e3) (e3)) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H26d]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [ zenon_intro zenon_H26a | zenon_intro zenon_H26b ]. % 47.70/47.85 cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0)))) = ((op (e3) (e3)) = (op (e3) (op (e3) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H26d. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H26a. % 47.70/47.85 cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H26b]. % 47.70/47.85 cut (((op (e3) (op (e3) (e0))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H26e]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H78 zenon_H71). % 47.70/47.85 apply zenon_H26b. apply refl_equal. % 47.70/47.85 apply zenon_H26b. apply refl_equal. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 apply zenon_H26b. apply refl_equal. % 47.70/47.85 apply zenon_H26b. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L97_ *) % 47.70/47.85 assert (zenon_L98_ : ((op (e3) (e5)) = (e2)) -> ((op (e3) (e1)) = (e5)) -> (~((e2) = (op (e3) (op (e3) (e1))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H99 zenon_H79 zenon_H26f. % 47.70/47.85 elim (classic ((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [ zenon_intro zenon_H270 | zenon_intro zenon_H271 ]. % 47.70/47.85 cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1)))) = ((e2) = (op (e3) (op (e3) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H26f. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H270. % 47.70/47.85 cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H271]. % 47.70/47.85 cut (((op (e3) (op (e3) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H272]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e5)) = (e2)) = ((op (e3) (op (e3) (e1))) = (e2))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H272. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H99. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 cut (((op (e3) (e5)) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H273]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [ zenon_intro zenon_H270 | zenon_intro zenon_H271 ]. % 47.70/47.85 cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1)))) = ((op (e3) (e5)) = (op (e3) (op (e3) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H273. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H270. % 47.70/47.85 cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H271]. % 47.70/47.85 cut (((op (e3) (op (e3) (e1))) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H274]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H80 zenon_H79). % 47.70/47.85 apply zenon_H271. apply refl_equal. % 47.70/47.85 apply zenon_H271. apply refl_equal. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 apply zenon_H271. apply refl_equal. % 47.70/47.85 apply zenon_H271. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L98_ *) % 47.70/47.85 assert (zenon_L99_ : ((op (e3) (e1)) = (e5)) -> ((op (e3) (e2)) = (e1)) -> (~((e5) = (op (e3) (op (e3) (e2))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H79 zenon_H81 zenon_H275. % 47.70/47.85 elim (classic ((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [ zenon_intro zenon_H276 | zenon_intro zenon_H277 ]. % 47.70/47.85 cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2)))) = ((e5) = (op (e3) (op (e3) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H275. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H276. % 47.70/47.85 cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H277]. % 47.70/47.85 cut (((op (e3) (op (e3) (e2))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H278]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e1)) = (e5)) = ((op (e3) (op (e3) (e2))) = (e5))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H278. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H79. % 47.70/47.85 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.85 cut (((op (e3) (e1)) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H279]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [ zenon_intro zenon_H276 | zenon_intro zenon_H277 ]. % 47.70/47.85 cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2)))) = ((op (e3) (e1)) = (op (e3) (op (e3) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H279. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H276. % 47.70/47.85 cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H277]. % 47.70/47.85 cut (((op (e3) (op (e3) (e2))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H27a]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H88 zenon_H81). % 47.70/47.85 apply zenon_H277. apply refl_equal. % 47.70/47.85 apply zenon_H277. apply refl_equal. % 47.70/47.85 apply zenon_H2e. apply refl_equal. % 47.70/47.85 apply zenon_H277. apply refl_equal. % 47.70/47.85 apply zenon_H277. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L99_ *) % 47.70/47.85 assert (zenon_L100_ : ((op (e3) (e4)) = (e0)) -> ((op (e3) (e3)) = (e4)) -> (~((e0) = (op (e3) (op (e3) (e3))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H91 zenon_H89 zenon_H27b. % 47.70/47.85 elim (classic ((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [ zenon_intro zenon_H27c | zenon_intro zenon_H27d ]. % 47.70/47.85 cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3)))) = ((e0) = (op (e3) (op (e3) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H27b. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H27c. % 47.70/47.85 cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H27d]. % 47.70/47.85 cut (((op (e3) (op (e3) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H27e]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e4)) = (e0)) = ((op (e3) (op (e3) (e3))) = (e0))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H27e. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H91. % 47.70/47.85 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.85 cut (((op (e3) (e4)) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H27f]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [ zenon_intro zenon_H27c | zenon_intro zenon_H27d ]. % 47.70/47.85 cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3)))) = ((op (e3) (e4)) = (op (e3) (op (e3) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H27f. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H27c. % 47.70/47.85 cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H27d]. % 47.70/47.85 cut (((op (e3) (op (e3) (e3))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H280]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H90 zenon_H89). % 47.70/47.85 apply zenon_H27d. apply refl_equal. % 47.70/47.85 apply zenon_H27d. apply refl_equal. % 47.70/47.85 apply zenon_H7. apply refl_equal. % 47.70/47.85 apply zenon_H27d. apply refl_equal. % 47.70/47.85 apply zenon_H27d. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L100_ *) % 47.70/47.85 assert (zenon_L101_ : ((op (e3) (e0)) = (e3)) -> ((op (e3) (e4)) = (e0)) -> (~((e3) = (op (e3) (op (e3) (e4))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H71 zenon_H91 zenon_H281. % 47.70/47.85 elim (classic ((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4))))); [ zenon_intro zenon_H282 | zenon_intro zenon_H283 ]. % 47.70/47.85 cut (((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4)))) = ((e3) = (op (e3) (op (e3) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H281. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H282. % 47.70/47.85 cut (((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H283]. % 47.70/47.85 cut (((op (e3) (op (e3) (e4))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H284]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e3) (e4))) = (e3))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H284. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H71. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 cut (((op (e3) (e0)) = (op (e3) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H285]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4))))); [ zenon_intro zenon_H282 | zenon_intro zenon_H283 ]. % 47.70/47.85 cut (((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4)))) = ((op (e3) (e0)) = (op (e3) (op (e3) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H285. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H282. % 47.70/47.85 cut (((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H283]. % 47.70/47.85 cut (((op (e3) (op (e3) (e4))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H286]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H98 zenon_H91). % 47.70/47.85 apply zenon_H283. apply refl_equal. % 47.70/47.85 apply zenon_H283. apply refl_equal. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 apply zenon_H283. apply refl_equal. % 47.70/47.85 apply zenon_H283. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L101_ *) % 47.70/47.85 assert (zenon_L102_ : ((op (e3) (e2)) = (e1)) -> ((op (e3) (e5)) = (e2)) -> (~((e1) = (op (e3) (op (e3) (e5))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H81 zenon_H99 zenon_H287. % 47.70/47.85 elim (classic ((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5))))); [ zenon_intro zenon_H288 | zenon_intro zenon_H289 ]. % 47.70/47.85 cut (((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5)))) = ((e1) = (op (e3) (op (e3) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H287. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H288. % 47.70/47.85 cut (((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H289]. % 47.70/47.85 cut (((op (e3) (op (e3) (e5))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H28a]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e2)) = (e1)) = ((op (e3) (op (e3) (e5))) = (e1))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H28a. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H81. % 47.70/47.85 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.85 cut (((op (e3) (e2)) = (op (e3) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H28b]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5))))); [ zenon_intro zenon_H288 | zenon_intro zenon_H289 ]. % 47.70/47.85 cut (((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5)))) = ((op (e3) (e2)) = (op (e3) (op (e3) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H28b. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H288. % 47.70/47.85 cut (((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H289]. % 47.70/47.85 cut (((op (e3) (op (e3) (e5))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H28c]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_Ha0 zenon_H99). % 47.70/47.85 apply zenon_H289. apply refl_equal. % 47.70/47.85 apply zenon_H289. apply refl_equal. % 47.70/47.85 apply zenon_H5. apply refl_equal. % 47.70/47.85 apply zenon_H289. apply refl_equal. % 47.70/47.85 apply zenon_H289. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L102_ *) % 47.70/47.85 assert (zenon_L103_ : ((op (e3) (e5)) = (e2)) -> ((op (e5) (e0)) = (e5)) -> (~((e2) = (op (e3) (op (e5) (e0))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H99 zenon_Hd1 zenon_H28d. % 47.70/47.85 elim (classic ((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0))))); [ zenon_intro zenon_H28e | zenon_intro zenon_H28f ]. % 47.70/47.85 cut (((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0)))) = ((e2) = (op (e3) (op (e5) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H28d. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H28e. % 47.70/47.85 cut (((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H28f]. % 47.70/47.85 cut (((op (e3) (op (e5) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H290]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e5)) = (e2)) = ((op (e3) (op (e5) (e0))) = (e2))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H290. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H99. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 cut (((op (e3) (e5)) = (op (e3) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H291]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0))))); [ zenon_intro zenon_H28e | zenon_intro zenon_H28f ]. % 47.70/47.85 cut (((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0)))) = ((op (e3) (e5)) = (op (e3) (op (e5) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H291. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H28e. % 47.70/47.85 cut (((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H28f]. % 47.70/47.85 cut (((op (e3) (op (e5) (e0))) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H292]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_Hd8 zenon_Hd1). % 47.70/47.85 apply zenon_H28f. apply refl_equal. % 47.70/47.85 apply zenon_H28f. apply refl_equal. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 apply zenon_H28f. apply refl_equal. % 47.70/47.85 apply zenon_H28f. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L103_ *) % 47.70/47.85 assert (zenon_L104_ : ((op (e3) (e3)) = (e4)) -> ((op (e5) (e1)) = (e3)) -> (~((e4) = (op (e3) (op (e5) (e1))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H89 zenon_Hd9 zenon_H293. % 47.70/47.85 elim (classic ((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1))))); [ zenon_intro zenon_H294 | zenon_intro zenon_H295 ]. % 47.70/47.85 cut (((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1)))) = ((e4) = (op (e3) (op (e5) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H293. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H294. % 47.70/47.85 cut (((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H295]. % 47.70/47.85 cut (((op (e3) (op (e5) (e1))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H296]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e3)) = (e4)) = ((op (e3) (op (e5) (e1))) = (e4))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H296. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H89. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 cut (((op (e3) (e3)) = (op (e3) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H297]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1))))); [ zenon_intro zenon_H294 | zenon_intro zenon_H295 ]. % 47.70/47.85 cut (((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1)))) = ((op (e3) (e3)) = (op (e3) (op (e5) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H297. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H294. % 47.70/47.85 cut (((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H295]. % 47.70/47.85 cut (((op (e3) (op (e5) (e1))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H298]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_He0 zenon_Hd9). % 47.70/47.85 apply zenon_H295. apply refl_equal. % 47.70/47.85 apply zenon_H295. apply refl_equal. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 apply zenon_H295. apply refl_equal. % 47.70/47.85 apply zenon_H295. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L104_ *) % 47.70/47.85 assert (zenon_L105_ : ((op (e3) (e4)) = (e0)) -> ((op (e5) (e2)) = (e4)) -> (~((e0) = (op (e3) (op (e5) (e2))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H91 zenon_He1 zenon_H299. % 47.70/47.85 elim (classic ((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2))))); [ zenon_intro zenon_H29a | zenon_intro zenon_H29b ]. % 47.70/47.85 cut (((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2)))) = ((e0) = (op (e3) (op (e5) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H299. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H29a. % 47.70/47.85 cut (((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H29b]. % 47.70/47.85 cut (((op (e3) (op (e5) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H29c]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e4)) = (e0)) = ((op (e3) (op (e5) (e2))) = (e0))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H29c. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H91. % 47.70/47.85 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.85 cut (((op (e3) (e4)) = (op (e3) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H29d]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2))))); [ zenon_intro zenon_H29a | zenon_intro zenon_H29b ]. % 47.70/47.85 cut (((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2)))) = ((op (e3) (e4)) = (op (e3) (op (e5) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H29d. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H29a. % 47.70/47.85 cut (((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H29b]. % 47.70/47.85 cut (((op (e3) (op (e5) (e2))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H29e]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_He8 zenon_He1). % 47.70/47.85 apply zenon_H29b. apply refl_equal. % 47.70/47.85 apply zenon_H29b. apply refl_equal. % 47.70/47.85 apply zenon_H7. apply refl_equal. % 47.70/47.85 apply zenon_H29b. apply refl_equal. % 47.70/47.85 apply zenon_H29b. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L105_ *) % 47.70/47.85 assert (zenon_L106_ : ((op (e3) (e1)) = (e5)) -> ((op (e5) (e3)) = (e1)) -> (~((e5) = (op (e3) (op (e5) (e3))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H79 zenon_He9 zenon_H29f. % 47.70/47.85 elim (classic ((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3))))); [ zenon_intro zenon_H2a0 | zenon_intro zenon_H2a1 ]. % 47.70/47.85 cut (((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3)))) = ((e5) = (op (e3) (op (e5) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H29f. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2a0. % 47.70/47.85 cut (((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2a1]. % 47.70/47.85 cut (((op (e3) (op (e5) (e3))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2a2]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e1)) = (e5)) = ((op (e3) (op (e5) (e3))) = (e5))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2a2. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H79. % 47.70/47.85 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.85 cut (((op (e3) (e1)) = (op (e3) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2a3]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3))))); [ zenon_intro zenon_H2a0 | zenon_intro zenon_H2a1 ]. % 47.70/47.85 cut (((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3)))) = ((op (e3) (e1)) = (op (e3) (op (e5) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2a3. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2a0. % 47.70/47.85 cut (((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2a1]. % 47.70/47.85 cut (((op (e3) (op (e5) (e3))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2a4]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_Hf0 zenon_He9). % 47.70/47.85 apply zenon_H2a1. apply refl_equal. % 47.70/47.85 apply zenon_H2a1. apply refl_equal. % 47.70/47.85 apply zenon_H2e. apply refl_equal. % 47.70/47.85 apply zenon_H2a1. apply refl_equal. % 47.70/47.85 apply zenon_H2a1. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L106_ *) % 47.70/47.85 assert (zenon_L107_ : ((op (e3) (e2)) = (e1)) -> ((op (e5) (e4)) = (e2)) -> (~((e1) = (op (e3) (op (e5) (e4))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H81 zenon_Hf1 zenon_H2a5. % 47.70/47.85 elim (classic ((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4))))); [ zenon_intro zenon_H2a6 | zenon_intro zenon_H2a7 ]. % 47.70/47.85 cut (((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4)))) = ((e1) = (op (e3) (op (e5) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2a5. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2a6. % 47.70/47.85 cut (((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2a7]. % 47.70/47.85 cut (((op (e3) (op (e5) (e4))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H2a8]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e2)) = (e1)) = ((op (e3) (op (e5) (e4))) = (e1))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2a8. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H81. % 47.70/47.85 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.85 cut (((op (e3) (e2)) = (op (e3) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2a9]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4))))); [ zenon_intro zenon_H2a6 | zenon_intro zenon_H2a7 ]. % 47.70/47.85 cut (((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4)))) = ((op (e3) (e2)) = (op (e3) (op (e5) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2a9. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2a6. % 47.70/47.85 cut (((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2a7]. % 47.70/47.85 cut (((op (e3) (op (e5) (e4))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2aa]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_Hf8 zenon_Hf1). % 47.70/47.85 apply zenon_H2a7. apply refl_equal. % 47.70/47.85 apply zenon_H2a7. apply refl_equal. % 47.70/47.85 apply zenon_H5. apply refl_equal. % 47.70/47.85 apply zenon_H2a7. apply refl_equal. % 47.70/47.85 apply zenon_H2a7. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L107_ *) % 47.70/47.85 assert (zenon_L108_ : ((op (e3) (e0)) = (e3)) -> ((op (e5) (e5)) = (e0)) -> (~((e3) = (op (e3) (op (e5) (e5))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_H71 zenon_Hf9 zenon_H2ab. % 47.70/47.85 elim (classic ((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5))))); [ zenon_intro zenon_H2ac | zenon_intro zenon_H2ad ]. % 47.70/47.85 cut (((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5)))) = ((e3) = (op (e3) (op (e5) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2ab. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2ac. % 47.70/47.85 cut (((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2ad]. % 47.70/47.85 cut (((op (e3) (op (e5) (e5))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H2ae]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e5) (e5))) = (e3))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2ae. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H71. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 cut (((op (e3) (e0)) = (op (e3) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2af]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5))))); [ zenon_intro zenon_H2ac | zenon_intro zenon_H2ad ]. % 47.70/47.85 cut (((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5)))) = ((op (e3) (e0)) = (op (e3) (op (e5) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2af. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2ac. % 47.70/47.85 cut (((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2ad]. % 47.70/47.85 cut (((op (e3) (op (e5) (e5))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2b0]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 exact (zenon_H100 zenon_Hf9). % 47.70/47.85 apply zenon_H2ad. apply refl_equal. % 47.70/47.85 apply zenon_H2ad. apply refl_equal. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 apply zenon_H2ad. apply refl_equal. % 47.70/47.85 apply zenon_H2ad. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L108_ *) % 47.70/47.85 assert (zenon_L109_ : ((op (e4) (e1)) = (e2)) -> ((op (e1) (e0)) = (e1)) -> (~((e2) = (op (e4) (op (e1) (e0))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Ha9 zenon_H9 zenon_H2b1. % 47.70/47.85 elim (classic ((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0))))); [ zenon_intro zenon_H2b2 | zenon_intro zenon_H2b3 ]. % 47.70/47.85 cut (((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0)))) = ((e2) = (op (e4) (op (e1) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2b1. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2b2. % 47.70/47.85 cut (((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2b3]. % 47.70/47.85 cut (((op (e4) (op (e1) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2b4]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e1)) = (e2)) = ((op (e4) (op (e1) (e0))) = (e2))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2b4. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Ha9. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 cut (((op (e4) (e1)) = (op (e4) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2b5]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0))))); [ zenon_intro zenon_H2b2 | zenon_intro zenon_H2b3 ]. % 47.70/47.85 cut (((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0)))) = ((op (e4) (e1)) = (op (e4) (op (e1) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2b5. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2b2. % 47.70/47.85 cut (((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2b3]. % 47.70/47.85 cut (((op (e4) (op (e1) (e0))) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2b6]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_H10 zenon_H9). % 47.70/47.85 apply zenon_H2b3. apply refl_equal. % 47.70/47.85 apply zenon_H2b3. apply refl_equal. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 apply zenon_H2b3. apply refl_equal. % 47.70/47.85 apply zenon_H2b3. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L109_ *) % 47.70/47.85 assert (zenon_L110_ : ((op (e4) (e0)) = (e4)) -> ((op (e1) (e1)) = (e0)) -> (~((e4) = (op (e4) (op (e1) (e1))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Ha1 zenon_H12 zenon_H2b7. % 47.70/47.85 elim (classic ((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1))))); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b9 ]. % 47.70/47.85 cut (((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1)))) = ((e4) = (op (e4) (op (e1) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2b7. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2b8. % 47.70/47.85 cut (((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2b9]. % 47.70/47.85 cut (((op (e4) (op (e1) (e1))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2ba]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e0)) = (e4)) = ((op (e4) (op (e1) (e1))) = (e4))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2ba. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Ha1. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 cut (((op (e4) (e0)) = (op (e4) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2bb]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1))))); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b9 ]. % 47.70/47.85 cut (((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1)))) = ((op (e4) (e0)) = (op (e4) (op (e1) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2bb. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2b8. % 47.70/47.85 cut (((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2b9]. % 47.70/47.85 cut (((op (e4) (op (e1) (e1))) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2bc]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_H19 zenon_H12). % 47.70/47.85 apply zenon_H2b9. apply refl_equal. % 47.70/47.85 apply zenon_H2b9. apply refl_equal. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 apply zenon_H2b9. apply refl_equal. % 47.70/47.85 apply zenon_H2b9. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L110_ *) % 47.70/47.85 assert (zenon_L111_ : ((op (e4) (e3)) = (e0)) -> ((op (e1) (e2)) = (e3)) -> (~((e0) = (op (e4) (op (e1) (e2))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hb9 zenon_H1c zenon_H2bd. % 47.70/47.85 elim (classic ((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2))))); [ zenon_intro zenon_H2be | zenon_intro zenon_H2bf ]. % 47.70/47.85 cut (((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2)))) = ((e0) = (op (e4) (op (e1) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2bd. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2be. % 47.70/47.85 cut (((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2bf]. % 47.70/47.85 cut (((op (e4) (op (e1) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H2c0]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e3)) = (e0)) = ((op (e4) (op (e1) (e2))) = (e0))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2c0. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Hb9. % 47.70/47.85 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.85 cut (((op (e4) (e3)) = (op (e4) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2c1]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2))))); [ zenon_intro zenon_H2be | zenon_intro zenon_H2bf ]. % 47.70/47.85 cut (((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2)))) = ((op (e4) (e3)) = (op (e4) (op (e1) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2c1. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2be. % 47.70/47.85 cut (((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2bf]. % 47.70/47.85 cut (((op (e4) (op (e1) (e2))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2c2]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_H23 zenon_H1c). % 47.70/47.85 apply zenon_H2bf. apply refl_equal. % 47.70/47.85 apply zenon_H2bf. apply refl_equal. % 47.70/47.85 apply zenon_H7. apply refl_equal. % 47.70/47.85 apply zenon_H2bf. apply refl_equal. % 47.70/47.85 apply zenon_H2bf. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L111_ *) % 47.70/47.85 assert (zenon_L112_ : ((op (e4) (e2)) = (e5)) -> ((op (e1) (e3)) = (e2)) -> (~((e5) = (op (e4) (op (e1) (e3))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hb1 zenon_H25 zenon_H2c3. % 47.70/47.85 elim (classic ((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3))))); [ zenon_intro zenon_H2c4 | zenon_intro zenon_H2c5 ]. % 47.70/47.85 cut (((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3)))) = ((e5) = (op (e4) (op (e1) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2c3. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2c4. % 47.70/47.85 cut (((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2c5]. % 47.70/47.85 cut (((op (e4) (op (e1) (e3))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2c6]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e2)) = (e5)) = ((op (e4) (op (e1) (e3))) = (e5))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2c6. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Hb1. % 47.70/47.85 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.85 cut (((op (e4) (e2)) = (op (e4) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2c7]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3))))); [ zenon_intro zenon_H2c4 | zenon_intro zenon_H2c5 ]. % 47.70/47.85 cut (((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3)))) = ((op (e4) (e2)) = (op (e4) (op (e1) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2c7. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2c4. % 47.70/47.85 cut (((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2c5]. % 47.70/47.85 cut (((op (e4) (op (e1) (e3))) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2c8]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_H2c zenon_H25). % 47.70/47.85 apply zenon_H2c5. apply refl_equal. % 47.70/47.85 apply zenon_H2c5. apply refl_equal. % 47.70/47.85 apply zenon_H2e. apply refl_equal. % 47.70/47.85 apply zenon_H2c5. apply refl_equal. % 47.70/47.85 apply zenon_H2c5. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L112_ *) % 47.70/47.85 assert (zenon_L113_ : ((op (e4) (e5)) = (e1)) -> ((op (e1) (e4)) = (e5)) -> (~((e1) = (op (e4) (op (e1) (e4))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hc9 zenon_H30 zenon_H2c9. % 47.70/47.85 elim (classic ((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4))))); [ zenon_intro zenon_H2ca | zenon_intro zenon_H2cb ]. % 47.70/47.85 cut (((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4)))) = ((e1) = (op (e4) (op (e1) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2c9. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2ca. % 47.70/47.85 cut (((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2cb]. % 47.70/47.85 cut (((op (e4) (op (e1) (e4))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H2cc]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e5)) = (e1)) = ((op (e4) (op (e1) (e4))) = (e1))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2cc. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Hc9. % 47.70/47.85 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.85 cut (((op (e4) (e5)) = (op (e4) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2cd]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4))))); [ zenon_intro zenon_H2ca | zenon_intro zenon_H2cb ]. % 47.70/47.85 cut (((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4)))) = ((op (e4) (e5)) = (op (e4) (op (e1) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2cd. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2ca. % 47.70/47.85 cut (((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2cb]. % 47.70/47.85 cut (((op (e4) (op (e1) (e4))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H2ce]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_H37 zenon_H30). % 47.70/47.85 apply zenon_H2cb. apply refl_equal. % 47.70/47.85 apply zenon_H2cb. apply refl_equal. % 47.70/47.85 apply zenon_H5. apply refl_equal. % 47.70/47.85 apply zenon_H2cb. apply refl_equal. % 47.70/47.85 apply zenon_H2cb. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L113_ *) % 47.70/47.85 assert (zenon_L114_ : ((op (e4) (e4)) = (e3)) -> ((op (e1) (e5)) = (e4)) -> (~((e3) = (op (e4) (op (e1) (e5))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hc1 zenon_H39 zenon_H2cf. % 47.70/47.85 elim (classic ((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5))))); [ zenon_intro zenon_H2d0 | zenon_intro zenon_H2d1 ]. % 47.70/47.85 cut (((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5)))) = ((e3) = (op (e4) (op (e1) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2cf. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2d0. % 47.70/47.85 cut (((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2d1]. % 47.70/47.85 cut (((op (e4) (op (e1) (e5))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H2d2]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e4)) = (e3)) = ((op (e4) (op (e1) (e5))) = (e3))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2d2. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Hc1. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 cut (((op (e4) (e4)) = (op (e4) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2d3]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5))))); [ zenon_intro zenon_H2d0 | zenon_intro zenon_H2d1 ]. % 47.70/47.85 cut (((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5)))) = ((op (e4) (e4)) = (op (e4) (op (e1) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2d3. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2d0. % 47.70/47.85 cut (((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2d1]. % 47.70/47.85 cut (((op (e4) (op (e1) (e5))) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H2d4]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e1) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_H40 zenon_H39). % 47.70/47.85 apply zenon_H2d1. apply refl_equal. % 47.70/47.85 apply zenon_H2d1. apply refl_equal. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 apply zenon_H2d1. apply refl_equal. % 47.70/47.85 apply zenon_H2d1. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L114_ *) % 47.70/47.85 assert (zenon_L115_ : ((op (e4) (e2)) = (e5)) -> ((op (e2) (e0)) = (e2)) -> (~((e5) = (op (e4) (op (e2) (e0))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hb1 zenon_H41 zenon_H2d5. % 47.70/47.85 elim (classic ((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0))))); [ zenon_intro zenon_H2d6 | zenon_intro zenon_H2d7 ]. % 47.70/47.85 cut (((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0)))) = ((e5) = (op (e4) (op (e2) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2d5. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2d6. % 47.70/47.85 cut (((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2d7]. % 47.70/47.85 cut (((op (e4) (op (e2) (e0))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2d8]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e2)) = (e5)) = ((op (e4) (op (e2) (e0))) = (e5))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2d8. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Hb1. % 47.70/47.85 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.85 cut (((op (e4) (e2)) = (op (e4) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2d9]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0))))); [ zenon_intro zenon_H2d6 | zenon_intro zenon_H2d7 ]. % 47.70/47.85 cut (((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0)))) = ((op (e4) (e2)) = (op (e4) (op (e2) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2d9. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2d6. % 47.70/47.85 cut (((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2d7]. % 47.70/47.85 cut (((op (e4) (op (e2) (e0))) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2da]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_H48 zenon_H41). % 47.70/47.85 apply zenon_H2d7. apply refl_equal. % 47.70/47.85 apply zenon_H2d7. apply refl_equal. % 47.70/47.85 apply zenon_H2e. apply refl_equal. % 47.70/47.85 apply zenon_H2d7. apply refl_equal. % 47.70/47.85 apply zenon_H2d7. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L115_ *) % 47.70/47.85 assert (zenon_L116_ : ((op (e4) (e4)) = (e3)) -> ((op (e2) (e1)) = (e4)) -> (~((e3) = (op (e4) (op (e2) (e1))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hc1 zenon_H49 zenon_H2db. % 47.70/47.85 elim (classic ((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1))))); [ zenon_intro zenon_H2dc | zenon_intro zenon_H2dd ]. % 47.70/47.85 cut (((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1)))) = ((e3) = (op (e4) (op (e2) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2db. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2dc. % 47.70/47.85 cut (((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2dd]. % 47.70/47.85 cut (((op (e4) (op (e2) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H2de]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e4)) = (e3)) = ((op (e4) (op (e2) (e1))) = (e3))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2de. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Hc1. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 cut (((op (e4) (e4)) = (op (e4) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2df]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1))))); [ zenon_intro zenon_H2dc | zenon_intro zenon_H2dd ]. % 47.70/47.85 cut (((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1)))) = ((op (e4) (e4)) = (op (e4) (op (e2) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2df. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2dc. % 47.70/47.85 cut (((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2dd]. % 47.70/47.85 cut (((op (e4) (op (e2) (e1))) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H2e0]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_H50 zenon_H49). % 47.70/47.85 apply zenon_H2dd. apply refl_equal. % 47.70/47.85 apply zenon_H2dd. apply refl_equal. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 apply zenon_H2dd. apply refl_equal. % 47.70/47.85 apply zenon_H2dd. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L116_ *) % 47.70/47.85 assert (zenon_L117_ : ((op (e4) (e0)) = (e4)) -> ((op (e2) (e2)) = (e0)) -> (~((e4) = (op (e4) (op (e2) (e2))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Ha1 zenon_H51 zenon_H2e1. % 47.70/47.85 elim (classic ((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2))))); [ zenon_intro zenon_H2e2 | zenon_intro zenon_H2e3 ]. % 47.70/47.85 cut (((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2)))) = ((e4) = (op (e4) (op (e2) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2e1. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2e2. % 47.70/47.85 cut (((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2e3]. % 47.70/47.85 cut (((op (e4) (op (e2) (e2))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2e4]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e0)) = (e4)) = ((op (e4) (op (e2) (e2))) = (e4))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2e4. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Ha1. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 cut (((op (e4) (e0)) = (op (e4) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2e5]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2))))); [ zenon_intro zenon_H2e2 | zenon_intro zenon_H2e3 ]. % 47.70/47.85 cut (((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2)))) = ((op (e4) (e0)) = (op (e4) (op (e2) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2e5. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2e2. % 47.70/47.85 cut (((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2e3]. % 47.70/47.85 cut (((op (e4) (op (e2) (e2))) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2e6]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_H58 zenon_H51). % 47.70/47.85 apply zenon_H2e3. apply refl_equal. % 47.70/47.85 apply zenon_H2e3. apply refl_equal. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 apply zenon_H2e3. apply refl_equal. % 47.70/47.85 apply zenon_H2e3. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L117_ *) % 47.70/47.85 assert (zenon_L118_ : ((op (e4) (e5)) = (e1)) -> ((op (e2) (e3)) = (e5)) -> (~((e1) = (op (e4) (op (e2) (e3))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hc9 zenon_H59 zenon_H2e7. % 47.70/47.85 elim (classic ((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3))))); [ zenon_intro zenon_H2e8 | zenon_intro zenon_H2e9 ]. % 47.70/47.85 cut (((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3)))) = ((e1) = (op (e4) (op (e2) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2e7. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2e8. % 47.70/47.85 cut (((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2e9]. % 47.70/47.85 cut (((op (e4) (op (e2) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H2ea]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e5)) = (e1)) = ((op (e4) (op (e2) (e3))) = (e1))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2ea. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Hc9. % 47.70/47.85 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.85 cut (((op (e4) (e5)) = (op (e4) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2eb]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3))))); [ zenon_intro zenon_H2e8 | zenon_intro zenon_H2e9 ]. % 47.70/47.85 cut (((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3)))) = ((op (e4) (e5)) = (op (e4) (op (e2) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2eb. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2e8. % 47.70/47.85 cut (((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2e9]. % 47.70/47.85 cut (((op (e4) (op (e2) (e3))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H2ec]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_H60 zenon_H59). % 47.70/47.85 apply zenon_H2e9. apply refl_equal. % 47.70/47.85 apply zenon_H2e9. apply refl_equal. % 47.70/47.85 apply zenon_H5. apply refl_equal. % 47.70/47.85 apply zenon_H2e9. apply refl_equal. % 47.70/47.85 apply zenon_H2e9. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L118_ *) % 47.70/47.85 assert (zenon_L119_ : ((op (e4) (e1)) = (e2)) -> ((op (e2) (e4)) = (e1)) -> (~((e2) = (op (e4) (op (e2) (e4))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Ha9 zenon_H61 zenon_H2ed. % 47.70/47.85 elim (classic ((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4))))); [ zenon_intro zenon_H2ee | zenon_intro zenon_H2ef ]. % 47.70/47.85 cut (((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4)))) = ((e2) = (op (e4) (op (e2) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2ed. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2ee. % 47.70/47.85 cut (((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2ef]. % 47.70/47.85 cut (((op (e4) (op (e2) (e4))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2f0]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e1)) = (e2)) = ((op (e4) (op (e2) (e4))) = (e2))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2f0. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Ha9. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 cut (((op (e4) (e1)) = (op (e4) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2f1]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4))))); [ zenon_intro zenon_H2ee | zenon_intro zenon_H2ef ]. % 47.70/47.85 cut (((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4)))) = ((op (e4) (e1)) = (op (e4) (op (e2) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2f1. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2ee. % 47.70/47.85 cut (((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2ef]. % 47.70/47.85 cut (((op (e4) (op (e2) (e4))) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2f2]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_H68 zenon_H61). % 47.70/47.85 apply zenon_H2ef. apply refl_equal. % 47.70/47.85 apply zenon_H2ef. apply refl_equal. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 apply zenon_H2ef. apply refl_equal. % 47.70/47.85 apply zenon_H2ef. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L119_ *) % 47.70/47.85 assert (zenon_L120_ : ((op (e4) (e3)) = (e0)) -> ((op (e2) (e5)) = (e3)) -> (~((e0) = (op (e4) (op (e2) (e5))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hb9 zenon_H69 zenon_H2f3. % 47.70/47.85 elim (classic ((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5))))); [ zenon_intro zenon_H2f4 | zenon_intro zenon_H2f5 ]. % 47.70/47.85 cut (((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5)))) = ((e0) = (op (e4) (op (e2) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2f3. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2f4. % 47.70/47.85 cut (((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2f5]. % 47.70/47.85 cut (((op (e4) (op (e2) (e5))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H2f6]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e3)) = (e0)) = ((op (e4) (op (e2) (e5))) = (e0))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2f6. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Hb9. % 47.70/47.85 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.85 cut (((op (e4) (e3)) = (op (e4) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2f7]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5))))); [ zenon_intro zenon_H2f4 | zenon_intro zenon_H2f5 ]. % 47.70/47.85 cut (((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5)))) = ((op (e4) (e3)) = (op (e4) (op (e2) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2f7. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2f4. % 47.70/47.85 cut (((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2f5]. % 47.70/47.85 cut (((op (e4) (op (e2) (e5))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f8]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e2) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_H70 zenon_H69). % 47.70/47.85 apply zenon_H2f5. apply refl_equal. % 47.70/47.85 apply zenon_H2f5. apply refl_equal. % 47.70/47.85 apply zenon_H7. apply refl_equal. % 47.70/47.85 apply zenon_H2f5. apply refl_equal. % 47.70/47.85 apply zenon_H2f5. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L120_ *) % 47.70/47.85 assert (zenon_L121_ : ((op (e4) (e4)) = (e3)) -> ((op (e4) (e0)) = (e4)) -> (~((e3) = (op (e4) (op (e4) (e0))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hc1 zenon_Ha1 zenon_H2f9. % 47.70/47.85 elim (classic ((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0))))); [ zenon_intro zenon_H2fa | zenon_intro zenon_H2fb ]. % 47.70/47.85 cut (((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0)))) = ((e3) = (op (e4) (op (e4) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2f9. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2fa. % 47.70/47.85 cut (((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2fb]. % 47.70/47.85 cut (((op (e4) (op (e4) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H2fc]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e4)) = (e3)) = ((op (e4) (op (e4) (e0))) = (e3))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2fc. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Hc1. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 cut (((op (e4) (e4)) = (op (e4) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2fd]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0))))); [ zenon_intro zenon_H2fa | zenon_intro zenon_H2fb ]. % 47.70/47.85 cut (((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0)))) = ((op (e4) (e4)) = (op (e4) (op (e4) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2fd. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H2fa. % 47.70/47.85 cut (((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2fb]. % 47.70/47.85 cut (((op (e4) (op (e4) (e0))) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H2fe]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_Ha8 zenon_Ha1). % 47.70/47.85 apply zenon_H2fb. apply refl_equal. % 47.70/47.85 apply zenon_H2fb. apply refl_equal. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 apply zenon_H2fb. apply refl_equal. % 47.70/47.85 apply zenon_H2fb. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L121_ *) % 47.70/47.85 assert (zenon_L122_ : ((op (e4) (e2)) = (e5)) -> ((op (e4) (e1)) = (e2)) -> (~((e5) = (op (e4) (op (e4) (e1))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hb1 zenon_Ha9 zenon_H2ff. % 47.70/47.85 elim (classic ((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1))))); [ zenon_intro zenon_H300 | zenon_intro zenon_H301 ]. % 47.70/47.85 cut (((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1)))) = ((e5) = (op (e4) (op (e4) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H2ff. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H300. % 47.70/47.85 cut (((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H301]. % 47.70/47.85 cut (((op (e4) (op (e4) (e1))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H302]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e2)) = (e5)) = ((op (e4) (op (e4) (e1))) = (e5))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H302. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Hb1. % 47.70/47.85 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.70/47.85 cut (((op (e4) (e2)) = (op (e4) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H303]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1))))); [ zenon_intro zenon_H300 | zenon_intro zenon_H301 ]. % 47.70/47.85 cut (((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1)))) = ((op (e4) (e2)) = (op (e4) (op (e4) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H303. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H300. % 47.70/47.85 cut (((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H301]. % 47.70/47.85 cut (((op (e4) (op (e4) (e1))) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H304]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_Hb0 zenon_Ha9). % 47.70/47.85 apply zenon_H301. apply refl_equal. % 47.70/47.85 apply zenon_H301. apply refl_equal. % 47.70/47.85 apply zenon_H2e. apply refl_equal. % 47.70/47.85 apply zenon_H301. apply refl_equal. % 47.70/47.85 apply zenon_H301. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L122_ *) % 47.70/47.85 assert (zenon_L123_ : ((op (e4) (e5)) = (e1)) -> ((op (e4) (e2)) = (e5)) -> (~((e1) = (op (e4) (op (e4) (e2))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hc9 zenon_Hb1 zenon_H305. % 47.70/47.85 elim (classic ((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2))))); [ zenon_intro zenon_H306 | zenon_intro zenon_H307 ]. % 47.70/47.85 cut (((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2)))) = ((e1) = (op (e4) (op (e4) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H305. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H306. % 47.70/47.85 cut (((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H307]. % 47.70/47.85 cut (((op (e4) (op (e4) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H308]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e5)) = (e1)) = ((op (e4) (op (e4) (e2))) = (e1))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H308. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Hc9. % 47.70/47.85 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.85 cut (((op (e4) (e5)) = (op (e4) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H309]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2))))); [ zenon_intro zenon_H306 | zenon_intro zenon_H307 ]. % 47.70/47.85 cut (((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2)))) = ((op (e4) (e5)) = (op (e4) (op (e4) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H309. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H306. % 47.70/47.85 cut (((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H307]. % 47.70/47.85 cut (((op (e4) (op (e4) (e2))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H30a]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_Hb8 zenon_Hb1). % 47.70/47.85 apply zenon_H307. apply refl_equal. % 47.70/47.85 apply zenon_H307. apply refl_equal. % 47.70/47.85 apply zenon_H5. apply refl_equal. % 47.70/47.85 apply zenon_H307. apply refl_equal. % 47.70/47.85 apply zenon_H307. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L123_ *) % 47.70/47.85 assert (zenon_L124_ : ((op (e4) (e0)) = (e4)) -> ((op (e4) (e3)) = (e0)) -> (~((e4) = (op (e4) (op (e4) (e3))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Ha1 zenon_Hb9 zenon_H30b. % 47.70/47.85 elim (classic ((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3))))); [ zenon_intro zenon_H30c | zenon_intro zenon_H30d ]. % 47.70/47.85 cut (((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3)))) = ((e4) = (op (e4) (op (e4) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H30b. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H30c. % 47.70/47.85 cut (((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H30d]. % 47.70/47.85 cut (((op (e4) (op (e4) (e3))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H30e]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e0)) = (e4)) = ((op (e4) (op (e4) (e3))) = (e4))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H30e. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Ha1. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 cut (((op (e4) (e0)) = (op (e4) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H30f]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3))))); [ zenon_intro zenon_H30c | zenon_intro zenon_H30d ]. % 47.70/47.85 cut (((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3)))) = ((op (e4) (e0)) = (op (e4) (op (e4) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H30f. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H30c. % 47.70/47.85 cut (((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H30d]. % 47.70/47.85 cut (((op (e4) (op (e4) (e3))) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H310]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_Hc0 zenon_Hb9). % 47.70/47.85 apply zenon_H30d. apply refl_equal. % 47.70/47.85 apply zenon_H30d. apply refl_equal. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 apply zenon_H30d. apply refl_equal. % 47.70/47.85 apply zenon_H30d. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L124_ *) % 47.70/47.85 assert (zenon_L125_ : ((op (e4) (e3)) = (e0)) -> ((op (e4) (e4)) = (e3)) -> (~((e0) = (op (e4) (op (e4) (e4))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hb9 zenon_Hc1 zenon_H311. % 47.70/47.85 elim (classic ((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4))))); [ zenon_intro zenon_H312 | zenon_intro zenon_H313 ]. % 47.70/47.85 cut (((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4)))) = ((e0) = (op (e4) (op (e4) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H311. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H312. % 47.70/47.85 cut (((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H313]. % 47.70/47.85 cut (((op (e4) (op (e4) (e4))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H314]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e3)) = (e0)) = ((op (e4) (op (e4) (e4))) = (e0))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H314. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Hb9. % 47.70/47.85 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.85 cut (((op (e4) (e3)) = (op (e4) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H315]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4))))); [ zenon_intro zenon_H312 | zenon_intro zenon_H313 ]. % 47.70/47.85 cut (((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4)))) = ((op (e4) (e3)) = (op (e4) (op (e4) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H315. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H312. % 47.70/47.85 cut (((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H313]. % 47.70/47.85 cut (((op (e4) (op (e4) (e4))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H316]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_Hc8 zenon_Hc1). % 47.70/47.85 apply zenon_H313. apply refl_equal. % 47.70/47.85 apply zenon_H313. apply refl_equal. % 47.70/47.85 apply zenon_H7. apply refl_equal. % 47.70/47.85 apply zenon_H313. apply refl_equal. % 47.70/47.85 apply zenon_H313. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L125_ *) % 47.70/47.85 assert (zenon_L126_ : ((op (e4) (e1)) = (e2)) -> ((op (e4) (e5)) = (e1)) -> (~((e2) = (op (e4) (op (e4) (e5))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Ha9 zenon_Hc9 zenon_H317. % 47.70/47.85 elim (classic ((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5))))); [ zenon_intro zenon_H318 | zenon_intro zenon_H319 ]. % 47.70/47.85 cut (((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5)))) = ((e2) = (op (e4) (op (e4) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H317. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H318. % 47.70/47.85 cut (((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H319]. % 47.70/47.85 cut (((op (e4) (op (e4) (e5))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H31a]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e1)) = (e2)) = ((op (e4) (op (e4) (e5))) = (e2))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H31a. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Ha9. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 cut (((op (e4) (e1)) = (op (e4) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H31b]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5))))); [ zenon_intro zenon_H318 | zenon_intro zenon_H319 ]. % 47.70/47.85 cut (((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5)))) = ((op (e4) (e1)) = (op (e4) (op (e4) (e5))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H31b. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H318. % 47.70/47.85 cut (((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H319]. % 47.70/47.85 cut (((op (e4) (op (e4) (e5))) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H31c]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_Hd0 zenon_Hc9). % 47.70/47.85 apply zenon_H319. apply refl_equal. % 47.70/47.85 apply zenon_H319. apply refl_equal. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 apply zenon_H319. apply refl_equal. % 47.70/47.85 apply zenon_H319. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L126_ *) % 47.70/47.85 assert (zenon_L127_ : ((op (e4) (e5)) = (e1)) -> ((op (e5) (e0)) = (e5)) -> (~((e1) = (op (e4) (op (e5) (e0))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hc9 zenon_Hd1 zenon_H31d. % 47.70/47.85 elim (classic ((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0))))); [ zenon_intro zenon_H31e | zenon_intro zenon_H31f ]. % 47.70/47.85 cut (((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0)))) = ((e1) = (op (e4) (op (e5) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H31d. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H31e. % 47.70/47.85 cut (((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H31f]. % 47.70/47.85 cut (((op (e4) (op (e5) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H320]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e5)) = (e1)) = ((op (e4) (op (e5) (e0))) = (e1))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H320. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Hc9. % 47.70/47.85 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.70/47.85 cut (((op (e4) (e5)) = (op (e4) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H321]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0))))); [ zenon_intro zenon_H31e | zenon_intro zenon_H31f ]. % 47.70/47.85 cut (((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0)))) = ((op (e4) (e5)) = (op (e4) (op (e5) (e0))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H321. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H31e. % 47.70/47.85 cut (((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H31f]. % 47.70/47.85 cut (((op (e4) (op (e5) (e0))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H322]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_Hd8 zenon_Hd1). % 47.70/47.85 apply zenon_H31f. apply refl_equal. % 47.70/47.85 apply zenon_H31f. apply refl_equal. % 47.70/47.85 apply zenon_H5. apply refl_equal. % 47.70/47.85 apply zenon_H31f. apply refl_equal. % 47.70/47.85 apply zenon_H31f. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L127_ *) % 47.70/47.85 assert (zenon_L128_ : ((op (e4) (e3)) = (e0)) -> ((op (e5) (e1)) = (e3)) -> (~((e0) = (op (e4) (op (e5) (e1))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hb9 zenon_Hd9 zenon_H323. % 47.70/47.85 elim (classic ((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1))))); [ zenon_intro zenon_H324 | zenon_intro zenon_H325 ]. % 47.70/47.85 cut (((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1)))) = ((e0) = (op (e4) (op (e5) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H323. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H324. % 47.70/47.85 cut (((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H325]. % 47.70/47.85 cut (((op (e4) (op (e5) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H326]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e3)) = (e0)) = ((op (e4) (op (e5) (e1))) = (e0))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H326. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Hb9. % 47.70/47.85 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.70/47.85 cut (((op (e4) (e3)) = (op (e4) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H327]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1))))); [ zenon_intro zenon_H324 | zenon_intro zenon_H325 ]. % 47.70/47.85 cut (((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1)))) = ((op (e4) (e3)) = (op (e4) (op (e5) (e1))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H327. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H324. % 47.70/47.85 cut (((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H325]. % 47.70/47.85 cut (((op (e4) (op (e5) (e1))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H328]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_He0 zenon_Hd9). % 47.70/47.85 apply zenon_H325. apply refl_equal. % 47.70/47.85 apply zenon_H325. apply refl_equal. % 47.70/47.85 apply zenon_H7. apply refl_equal. % 47.70/47.85 apply zenon_H325. apply refl_equal. % 47.70/47.85 apply zenon_H325. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L128_ *) % 47.70/47.85 assert (zenon_L129_ : ((op (e4) (e4)) = (e3)) -> ((op (e5) (e2)) = (e4)) -> (~((e3) = (op (e4) (op (e5) (e2))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hc1 zenon_He1 zenon_H329. % 47.70/47.85 elim (classic ((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2))))); [ zenon_intro zenon_H32a | zenon_intro zenon_H32b ]. % 47.70/47.85 cut (((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2)))) = ((e3) = (op (e4) (op (e5) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H329. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H32a. % 47.70/47.85 cut (((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H32b]. % 47.70/47.85 cut (((op (e4) (op (e5) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H32c]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e4)) = (e3)) = ((op (e4) (op (e5) (e2))) = (e3))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H32c. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Hc1. % 47.70/47.85 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.70/47.85 cut (((op (e4) (e4)) = (op (e4) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H32d]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2))))); [ zenon_intro zenon_H32a | zenon_intro zenon_H32b ]. % 47.70/47.85 cut (((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2)))) = ((op (e4) (e4)) = (op (e4) (op (e5) (e2))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H32d. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H32a. % 47.70/47.85 cut (((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H32b]. % 47.70/47.85 cut (((op (e4) (op (e5) (e2))) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H32e]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_He8 zenon_He1). % 47.70/47.85 apply zenon_H32b. apply refl_equal. % 47.70/47.85 apply zenon_H32b. apply refl_equal. % 47.70/47.85 apply zenon_H1a. apply refl_equal. % 47.70/47.85 apply zenon_H32b. apply refl_equal. % 47.70/47.85 apply zenon_H32b. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L129_ *) % 47.70/47.85 assert (zenon_L130_ : ((op (e4) (e1)) = (e2)) -> ((op (e5) (e3)) = (e1)) -> (~((e2) = (op (e4) (op (e5) (e3))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Ha9 zenon_He9 zenon_H32f. % 47.70/47.85 elim (classic ((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3))))); [ zenon_intro zenon_H330 | zenon_intro zenon_H331 ]. % 47.70/47.85 cut (((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3)))) = ((e2) = (op (e4) (op (e5) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H32f. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H330. % 47.70/47.85 cut (((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H331]. % 47.70/47.85 cut (((op (e4) (op (e5) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H332]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e4) (e1)) = (e2)) = ((op (e4) (op (e5) (e3))) = (e2))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H332. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_Ha9. % 47.70/47.85 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.70/47.85 cut (((op (e4) (e1)) = (op (e4) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H333]. % 47.70/47.85 congruence. % 47.70/47.85 elim (classic ((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3))))); [ zenon_intro zenon_H330 | zenon_intro zenon_H331 ]. % 47.70/47.85 cut (((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3)))) = ((op (e4) (e1)) = (op (e4) (op (e5) (e3))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H333. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H330. % 47.70/47.85 cut (((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H331]. % 47.70/47.85 cut (((op (e4) (op (e5) (e3))) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H334]. % 47.70/47.85 congruence. % 47.70/47.85 cut (((op (e5) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.70/47.85 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.70/47.85 congruence. % 47.70/47.85 apply zenon_H2d. apply refl_equal. % 47.70/47.85 exact (zenon_Hf0 zenon_He9). % 47.70/47.85 apply zenon_H331. apply refl_equal. % 47.70/47.85 apply zenon_H331. apply refl_equal. % 47.70/47.85 apply zenon_H6. apply refl_equal. % 47.70/47.85 apply zenon_H331. apply refl_equal. % 47.70/47.85 apply zenon_H331. apply refl_equal. % 47.70/47.85 (* end of lemma zenon_L130_ *) % 47.70/47.85 assert (zenon_L131_ : ((op (e4) (e2)) = (e5)) -> ((op (e5) (e4)) = (e2)) -> (~((e5) = (op (e4) (op (e5) (e4))))) -> False). % 47.70/47.85 do 0 intro. intros zenon_Hb1 zenon_Hf1 zenon_H335. % 47.70/47.85 elim (classic ((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4))))); [ zenon_intro zenon_H336 | zenon_intro zenon_H337 ]. % 47.70/47.85 cut (((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4)))) = ((e5) = (op (e4) (op (e5) (e4))))). % 47.70/47.85 intro zenon_D_pnotp. % 47.70/47.85 apply zenon_H335. % 47.70/47.85 rewrite <- zenon_D_pnotp. % 47.70/47.85 exact zenon_H336. % 47.70/47.85 cut (((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H337]. % 47.72/47.85 cut (((op (e4) (op (e5) (e4))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H338]. % 47.72/47.85 congruence. % 47.72/47.85 cut (((op (e4) (e2)) = (e5)) = ((op (e4) (op (e5) (e4))) = (e5))). % 47.72/47.85 intro zenon_D_pnotp. % 47.72/47.85 apply zenon_H338. % 47.72/47.85 rewrite <- zenon_D_pnotp. % 47.72/47.85 exact zenon_Hb1. % 47.72/47.85 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.85 cut (((op (e4) (e2)) = (op (e4) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H339]. % 47.72/47.85 congruence. % 47.72/47.85 elim (classic ((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4))))); [ zenon_intro zenon_H336 | zenon_intro zenon_H337 ]. % 47.72/47.85 cut (((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4)))) = ((op (e4) (e2)) = (op (e4) (op (e5) (e4))))). % 47.72/47.85 intro zenon_D_pnotp. % 47.72/47.85 apply zenon_H339. % 47.72/47.85 rewrite <- zenon_D_pnotp. % 47.72/47.85 exact zenon_H336. % 47.72/47.85 cut (((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H337]. % 47.72/47.85 cut (((op (e4) (op (e5) (e4))) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H33a]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 exact (zenon_Hf8 zenon_Hf1). % 47.72/47.86 apply zenon_H337. apply refl_equal. % 47.72/47.86 apply zenon_H337. apply refl_equal. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 apply zenon_H337. apply refl_equal. % 47.72/47.86 apply zenon_H337. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L131_ *) % 47.72/47.86 assert (zenon_L132_ : ((op (e4) (e0)) = (e4)) -> ((op (e5) (e5)) = (e0)) -> (~((e4) = (op (e4) (op (e5) (e5))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Ha1 zenon_Hf9 zenon_H33b. % 47.72/47.86 elim (classic ((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5))))); [ zenon_intro zenon_H33c | zenon_intro zenon_H33d ]. % 47.72/47.86 cut (((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5)))) = ((e4) = (op (e4) (op (e5) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H33b. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H33c. % 47.72/47.86 cut (((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H33d]. % 47.72/47.86 cut (((op (e4) (op (e5) (e5))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H33e]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e4) (e0)) = (e4)) = ((op (e4) (op (e5) (e5))) = (e4))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H33e. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Ha1. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 cut (((op (e4) (e0)) = (op (e4) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H33f]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5))))); [ zenon_intro zenon_H33c | zenon_intro zenon_H33d ]. % 47.72/47.86 cut (((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5)))) = ((op (e4) (e0)) = (op (e4) (op (e5) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H33f. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H33c. % 47.72/47.86 cut (((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H33d]. % 47.72/47.86 cut (((op (e4) (op (e5) (e5))) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H340]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 exact (zenon_H100 zenon_Hf9). % 47.72/47.86 apply zenon_H33d. apply refl_equal. % 47.72/47.86 apply zenon_H33d. apply refl_equal. % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 apply zenon_H33d. apply refl_equal. % 47.72/47.86 apply zenon_H33d. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L132_ *) % 47.72/47.86 assert (zenon_L133_ : ((op (e5) (e1)) = (e3)) -> ((op (e1) (e0)) = (e1)) -> (~((e3) = (op (e5) (op (e1) (e0))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hd9 zenon_H9 zenon_H341. % 47.72/47.86 elim (classic ((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0))))); [ zenon_intro zenon_H342 | zenon_intro zenon_H343 ]. % 47.72/47.86 cut (((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0)))) = ((e3) = (op (e5) (op (e1) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H341. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H342. % 47.72/47.86 cut (((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H343]. % 47.72/47.86 cut (((op (e5) (op (e1) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H344]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e1)) = (e3)) = ((op (e5) (op (e1) (e0))) = (e3))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H344. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hd9. % 47.72/47.86 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.86 cut (((op (e5) (e1)) = (op (e5) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H345]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0))))); [ zenon_intro zenon_H342 | zenon_intro zenon_H343 ]. % 47.72/47.86 cut (((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0)))) = ((op (e5) (e1)) = (op (e5) (op (e1) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H345. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H342. % 47.72/47.86 cut (((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H343]. % 47.72/47.86 cut (((op (e5) (op (e1) (e0))) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H346]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H10 zenon_H9). % 47.72/47.86 apply zenon_H343. apply refl_equal. % 47.72/47.86 apply zenon_H343. apply refl_equal. % 47.72/47.86 apply zenon_H1a. apply refl_equal. % 47.72/47.86 apply zenon_H343. apply refl_equal. % 47.72/47.86 apply zenon_H343. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L133_ *) % 47.72/47.86 assert (zenon_L134_ : ((op (e5) (e0)) = (e5)) -> ((op (e1) (e1)) = (e0)) -> (~((e5) = (op (e5) (op (e1) (e1))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hd1 zenon_H12 zenon_H347. % 47.72/47.86 elim (classic ((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1))))); [ zenon_intro zenon_H348 | zenon_intro zenon_H349 ]. % 47.72/47.86 cut (((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1)))) = ((e5) = (op (e5) (op (e1) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H347. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H348. % 47.72/47.86 cut (((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H349]. % 47.72/47.86 cut (((op (e5) (op (e1) (e1))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H34a]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e0)) = (e5)) = ((op (e5) (op (e1) (e1))) = (e5))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H34a. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hd1. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 cut (((op (e5) (e0)) = (op (e5) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H34b]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1))))); [ zenon_intro zenon_H348 | zenon_intro zenon_H349 ]. % 47.72/47.86 cut (((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1)))) = ((op (e5) (e0)) = (op (e5) (op (e1) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H34b. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H348. % 47.72/47.86 cut (((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H349]. % 47.72/47.86 cut (((op (e5) (op (e1) (e1))) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H34c]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H19 zenon_H12). % 47.72/47.86 apply zenon_H349. apply refl_equal. % 47.72/47.86 apply zenon_H349. apply refl_equal. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 apply zenon_H349. apply refl_equal. % 47.72/47.86 apply zenon_H349. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L134_ *) % 47.72/47.86 assert (zenon_L135_ : ((op (e5) (e3)) = (e1)) -> ((op (e1) (e2)) = (e3)) -> (~((e1) = (op (e5) (op (e1) (e2))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_He9 zenon_H1c zenon_H34d. % 47.72/47.86 elim (classic ((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2))))); [ zenon_intro zenon_H34e | zenon_intro zenon_H34f ]. % 47.72/47.86 cut (((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2)))) = ((e1) = (op (e5) (op (e1) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H34d. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H34e. % 47.72/47.86 cut (((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H34f]. % 47.72/47.86 cut (((op (e5) (op (e1) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H350]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e3)) = (e1)) = ((op (e5) (op (e1) (e2))) = (e1))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H350. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_He9. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 cut (((op (e5) (e3)) = (op (e5) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H351]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2))))); [ zenon_intro zenon_H34e | zenon_intro zenon_H34f ]. % 47.72/47.86 cut (((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2)))) = ((op (e5) (e3)) = (op (e5) (op (e1) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H351. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H34e. % 47.72/47.86 cut (((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H34f]. % 47.72/47.86 cut (((op (e5) (op (e1) (e2))) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H352]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H23 zenon_H1c). % 47.72/47.86 apply zenon_H34f. apply refl_equal. % 47.72/47.86 apply zenon_H34f. apply refl_equal. % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H34f. apply refl_equal. % 47.72/47.86 apply zenon_H34f. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L135_ *) % 47.72/47.86 assert (zenon_L136_ : ((op (e5) (e2)) = (e4)) -> ((op (e1) (e3)) = (e2)) -> (~((e4) = (op (e5) (op (e1) (e3))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_He1 zenon_H25 zenon_H353. % 47.72/47.86 elim (classic ((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3))))); [ zenon_intro zenon_H354 | zenon_intro zenon_H355 ]. % 47.72/47.86 cut (((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3)))) = ((e4) = (op (e5) (op (e1) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H353. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H354. % 47.72/47.86 cut (((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H355]. % 47.72/47.86 cut (((op (e5) (op (e1) (e3))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H356]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e2)) = (e4)) = ((op (e5) (op (e1) (e3))) = (e4))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H356. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_He1. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 cut (((op (e5) (e2)) = (op (e5) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H357]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3))))); [ zenon_intro zenon_H354 | zenon_intro zenon_H355 ]. % 47.72/47.86 cut (((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3)))) = ((op (e5) (e2)) = (op (e5) (op (e1) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H357. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H354. % 47.72/47.86 cut (((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H355]. % 47.72/47.86 cut (((op (e5) (op (e1) (e3))) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H358]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H2c zenon_H25). % 47.72/47.86 apply zenon_H355. apply refl_equal. % 47.72/47.86 apply zenon_H355. apply refl_equal. % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 apply zenon_H355. apply refl_equal. % 47.72/47.86 apply zenon_H355. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L136_ *) % 47.72/47.86 assert (zenon_L137_ : ((op (e5) (e5)) = (e0)) -> ((op (e1) (e4)) = (e5)) -> (~((e0) = (op (e5) (op (e1) (e4))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hf9 zenon_H30 zenon_H359. % 47.72/47.86 elim (classic ((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4))))); [ zenon_intro zenon_H35a | zenon_intro zenon_H35b ]. % 47.72/47.86 cut (((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4)))) = ((e0) = (op (e5) (op (e1) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H359. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H35a. % 47.72/47.86 cut (((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H35b]. % 47.72/47.86 cut (((op (e5) (op (e1) (e4))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H35c]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e5)) = (e0)) = ((op (e5) (op (e1) (e4))) = (e0))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H35c. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hf9. % 47.72/47.86 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.86 cut (((op (e5) (e5)) = (op (e5) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H35d]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4))))); [ zenon_intro zenon_H35a | zenon_intro zenon_H35b ]. % 47.72/47.86 cut (((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4)))) = ((op (e5) (e5)) = (op (e5) (op (e1) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H35d. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H35a. % 47.72/47.86 cut (((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H35b]. % 47.72/47.86 cut (((op (e5) (op (e1) (e4))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H35e]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H37 zenon_H30). % 47.72/47.86 apply zenon_H35b. apply refl_equal. % 47.72/47.86 apply zenon_H35b. apply refl_equal. % 47.72/47.86 apply zenon_H7. apply refl_equal. % 47.72/47.86 apply zenon_H35b. apply refl_equal. % 47.72/47.86 apply zenon_H35b. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L137_ *) % 47.72/47.86 assert (zenon_L138_ : ((op (e5) (e4)) = (e2)) -> ((op (e1) (e5)) = (e4)) -> (~((e2) = (op (e5) (op (e1) (e5))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hf1 zenon_H39 zenon_H35f. % 47.72/47.86 elim (classic ((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5))))); [ zenon_intro zenon_H360 | zenon_intro zenon_H361 ]. % 47.72/47.86 cut (((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5)))) = ((e2) = (op (e5) (op (e1) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H35f. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H360. % 47.72/47.86 cut (((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H361]. % 47.72/47.86 cut (((op (e5) (op (e1) (e5))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H362]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e4)) = (e2)) = ((op (e5) (op (e1) (e5))) = (e2))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H362. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hf1. % 47.72/47.86 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.86 cut (((op (e5) (e4)) = (op (e5) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H363]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5))))); [ zenon_intro zenon_H360 | zenon_intro zenon_H361 ]. % 47.72/47.86 cut (((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5)))) = ((op (e5) (e4)) = (op (e5) (op (e1) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H363. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H360. % 47.72/47.86 cut (((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H361]. % 47.72/47.86 cut (((op (e5) (op (e1) (e5))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H364]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H40 zenon_H39). % 47.72/47.86 apply zenon_H361. apply refl_equal. % 47.72/47.86 apply zenon_H361. apply refl_equal. % 47.72/47.86 apply zenon_H6. apply refl_equal. % 47.72/47.86 apply zenon_H361. apply refl_equal. % 47.72/47.86 apply zenon_H361. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L138_ *) % 47.72/47.86 assert (zenon_L139_ : ((op (e5) (e2)) = (e4)) -> ((op (e2) (e0)) = (e2)) -> (~((e4) = (op (e5) (op (e2) (e0))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_He1 zenon_H41 zenon_H365. % 47.72/47.86 elim (classic ((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0))))); [ zenon_intro zenon_H366 | zenon_intro zenon_H367 ]. % 47.72/47.86 cut (((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0)))) = ((e4) = (op (e5) (op (e2) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H365. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H366. % 47.72/47.86 cut (((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H367]. % 47.72/47.86 cut (((op (e5) (op (e2) (e0))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H368]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e2)) = (e4)) = ((op (e5) (op (e2) (e0))) = (e4))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H368. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_He1. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 cut (((op (e5) (e2)) = (op (e5) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H369]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0))))); [ zenon_intro zenon_H366 | zenon_intro zenon_H367 ]. % 47.72/47.86 cut (((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0)))) = ((op (e5) (e2)) = (op (e5) (op (e2) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H369. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H366. % 47.72/47.86 cut (((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H367]. % 47.72/47.86 cut (((op (e5) (op (e2) (e0))) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H36a]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H48 zenon_H41). % 47.72/47.86 apply zenon_H367. apply refl_equal. % 47.72/47.86 apply zenon_H367. apply refl_equal. % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 apply zenon_H367. apply refl_equal. % 47.72/47.86 apply zenon_H367. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L139_ *) % 47.72/47.86 assert (zenon_L140_ : ((op (e5) (e4)) = (e2)) -> ((op (e2) (e1)) = (e4)) -> (~((e2) = (op (e5) (op (e2) (e1))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hf1 zenon_H49 zenon_H36b. % 47.72/47.86 elim (classic ((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1))))); [ zenon_intro zenon_H36c | zenon_intro zenon_H36d ]. % 47.72/47.86 cut (((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1)))) = ((e2) = (op (e5) (op (e2) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H36b. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H36c. % 47.72/47.86 cut (((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H36d]. % 47.72/47.86 cut (((op (e5) (op (e2) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H36e]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e4)) = (e2)) = ((op (e5) (op (e2) (e1))) = (e2))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H36e. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hf1. % 47.72/47.86 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.86 cut (((op (e5) (e4)) = (op (e5) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H36f]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1))))); [ zenon_intro zenon_H36c | zenon_intro zenon_H36d ]. % 47.72/47.86 cut (((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1)))) = ((op (e5) (e4)) = (op (e5) (op (e2) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H36f. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H36c. % 47.72/47.86 cut (((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H36d]. % 47.72/47.86 cut (((op (e5) (op (e2) (e1))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H370]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H50 zenon_H49). % 47.72/47.86 apply zenon_H36d. apply refl_equal. % 47.72/47.86 apply zenon_H36d. apply refl_equal. % 47.72/47.86 apply zenon_H6. apply refl_equal. % 47.72/47.86 apply zenon_H36d. apply refl_equal. % 47.72/47.86 apply zenon_H36d. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L140_ *) % 47.72/47.86 assert (zenon_L141_ : ((op (e5) (e0)) = (e5)) -> ((op (e2) (e2)) = (e0)) -> (~((e5) = (op (e5) (op (e2) (e2))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hd1 zenon_H51 zenon_H371. % 47.72/47.86 elim (classic ((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2))))); [ zenon_intro zenon_H372 | zenon_intro zenon_H373 ]. % 47.72/47.86 cut (((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2)))) = ((e5) = (op (e5) (op (e2) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H371. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H372. % 47.72/47.86 cut (((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H373]. % 47.72/47.86 cut (((op (e5) (op (e2) (e2))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H374]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e0)) = (e5)) = ((op (e5) (op (e2) (e2))) = (e5))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H374. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hd1. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 cut (((op (e5) (e0)) = (op (e5) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H375]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2))))); [ zenon_intro zenon_H372 | zenon_intro zenon_H373 ]. % 47.72/47.86 cut (((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2)))) = ((op (e5) (e0)) = (op (e5) (op (e2) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H375. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H372. % 47.72/47.86 cut (((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H373]. % 47.72/47.86 cut (((op (e5) (op (e2) (e2))) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H376]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e2) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H58 zenon_H51). % 47.72/47.86 apply zenon_H373. apply refl_equal. % 47.72/47.86 apply zenon_H373. apply refl_equal. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 apply zenon_H373. apply refl_equal. % 47.72/47.86 apply zenon_H373. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L141_ *) % 47.72/47.86 assert (zenon_L142_ : ((op (e5) (e5)) = (e0)) -> ((op (e2) (e3)) = (e5)) -> (~((e0) = (op (e5) (op (e2) (e3))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hf9 zenon_H59 zenon_H377. % 47.72/47.86 elim (classic ((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3))))); [ zenon_intro zenon_H378 | zenon_intro zenon_H379 ]. % 47.72/47.86 cut (((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3)))) = ((e0) = (op (e5) (op (e2) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H377. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H378. % 47.72/47.86 cut (((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H379]. % 47.72/47.86 cut (((op (e5) (op (e2) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H37a]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e5)) = (e0)) = ((op (e5) (op (e2) (e3))) = (e0))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H37a. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hf9. % 47.72/47.86 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.86 cut (((op (e5) (e5)) = (op (e5) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H37b]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3))))); [ zenon_intro zenon_H378 | zenon_intro zenon_H379 ]. % 47.72/47.86 cut (((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3)))) = ((op (e5) (e5)) = (op (e5) (op (e2) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H37b. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H378. % 47.72/47.86 cut (((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H379]. % 47.72/47.86 cut (((op (e5) (op (e2) (e3))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H37c]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e2) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H60 zenon_H59). % 47.72/47.86 apply zenon_H379. apply refl_equal. % 47.72/47.86 apply zenon_H379. apply refl_equal. % 47.72/47.86 apply zenon_H7. apply refl_equal. % 47.72/47.86 apply zenon_H379. apply refl_equal. % 47.72/47.86 apply zenon_H379. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L142_ *) % 47.72/47.86 assert (zenon_L143_ : ((op (e5) (e1)) = (e3)) -> ((op (e2) (e4)) = (e1)) -> (~((e3) = (op (e5) (op (e2) (e4))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hd9 zenon_H61 zenon_H37d. % 47.72/47.86 elim (classic ((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4))))); [ zenon_intro zenon_H37e | zenon_intro zenon_H37f ]. % 47.72/47.86 cut (((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4)))) = ((e3) = (op (e5) (op (e2) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H37d. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H37e. % 47.72/47.86 cut (((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H37f]. % 47.72/47.86 cut (((op (e5) (op (e2) (e4))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H380]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e1)) = (e3)) = ((op (e5) (op (e2) (e4))) = (e3))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H380. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hd9. % 47.72/47.86 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.86 cut (((op (e5) (e1)) = (op (e5) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H381]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4))))); [ zenon_intro zenon_H37e | zenon_intro zenon_H37f ]. % 47.72/47.86 cut (((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4)))) = ((op (e5) (e1)) = (op (e5) (op (e2) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H381. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H37e. % 47.72/47.86 cut (((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H37f]. % 47.72/47.86 cut (((op (e5) (op (e2) (e4))) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H382]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e2) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H68 zenon_H61). % 47.72/47.86 apply zenon_H37f. apply refl_equal. % 47.72/47.86 apply zenon_H37f. apply refl_equal. % 47.72/47.86 apply zenon_H1a. apply refl_equal. % 47.72/47.86 apply zenon_H37f. apply refl_equal. % 47.72/47.86 apply zenon_H37f. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L143_ *) % 47.72/47.86 assert (zenon_L144_ : ((op (e5) (e3)) = (e1)) -> ((op (e2) (e5)) = (e3)) -> (~((e1) = (op (e5) (op (e2) (e5))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_He9 zenon_H69 zenon_H383. % 47.72/47.86 elim (classic ((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5))))); [ zenon_intro zenon_H384 | zenon_intro zenon_H385 ]. % 47.72/47.86 cut (((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5)))) = ((e1) = (op (e5) (op (e2) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H383. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H384. % 47.72/47.86 cut (((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H385]. % 47.72/47.86 cut (((op (e5) (op (e2) (e5))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H386]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e3)) = (e1)) = ((op (e5) (op (e2) (e5))) = (e1))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H386. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_He9. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 cut (((op (e5) (e3)) = (op (e5) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H387]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5))))); [ zenon_intro zenon_H384 | zenon_intro zenon_H385 ]. % 47.72/47.86 cut (((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5)))) = ((op (e5) (e3)) = (op (e5) (op (e2) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H387. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H384. % 47.72/47.86 cut (((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H385]. % 47.72/47.86 cut (((op (e5) (op (e2) (e5))) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H388]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e2) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H70 zenon_H69). % 47.72/47.86 apply zenon_H385. apply refl_equal. % 47.72/47.86 apply zenon_H385. apply refl_equal. % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H385. apply refl_equal. % 47.72/47.86 apply zenon_H385. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L144_ *) % 47.72/47.86 assert (zenon_L145_ : ((op (e5) (e3)) = (e1)) -> ((op (e3) (e0)) = (e3)) -> (~((e1) = (op (e5) (op (e3) (e0))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_He9 zenon_H71 zenon_H389. % 47.72/47.86 elim (classic ((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0))))); [ zenon_intro zenon_H38a | zenon_intro zenon_H38b ]. % 47.72/47.86 cut (((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0)))) = ((e1) = (op (e5) (op (e3) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H389. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H38a. % 47.72/47.86 cut (((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H38b]. % 47.72/47.86 cut (((op (e5) (op (e3) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H38c]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e3)) = (e1)) = ((op (e5) (op (e3) (e0))) = (e1))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H38c. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_He9. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 cut (((op (e5) (e3)) = (op (e5) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H38d]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0))))); [ zenon_intro zenon_H38a | zenon_intro zenon_H38b ]. % 47.72/47.86 cut (((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0)))) = ((op (e5) (e3)) = (op (e5) (op (e3) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H38d. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H38a. % 47.72/47.86 cut (((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H38b]. % 47.72/47.86 cut (((op (e5) (op (e3) (e0))) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H38e]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H78 zenon_H71). % 47.72/47.86 apply zenon_H38b. apply refl_equal. % 47.72/47.86 apply zenon_H38b. apply refl_equal. % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H38b. apply refl_equal. % 47.72/47.86 apply zenon_H38b. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L145_ *) % 47.72/47.86 assert (zenon_L146_ : ((op (e5) (e5)) = (e0)) -> ((op (e3) (e1)) = (e5)) -> (~((e0) = (op (e5) (op (e3) (e1))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hf9 zenon_H79 zenon_H38f. % 47.72/47.86 elim (classic ((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1))))); [ zenon_intro zenon_H390 | zenon_intro zenon_H391 ]. % 47.72/47.86 cut (((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1)))) = ((e0) = (op (e5) (op (e3) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H38f. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H390. % 47.72/47.86 cut (((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H391]. % 47.72/47.86 cut (((op (e5) (op (e3) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H392]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e5)) = (e0)) = ((op (e5) (op (e3) (e1))) = (e0))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H392. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hf9. % 47.72/47.86 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.86 cut (((op (e5) (e5)) = (op (e5) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H393]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1))))); [ zenon_intro zenon_H390 | zenon_intro zenon_H391 ]. % 47.72/47.86 cut (((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1)))) = ((op (e5) (e5)) = (op (e5) (op (e3) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H393. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H390. % 47.72/47.86 cut (((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H391]. % 47.72/47.86 cut (((op (e5) (op (e3) (e1))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H394]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H80 zenon_H79). % 47.72/47.86 apply zenon_H391. apply refl_equal. % 47.72/47.86 apply zenon_H391. apply refl_equal. % 47.72/47.86 apply zenon_H7. apply refl_equal. % 47.72/47.86 apply zenon_H391. apply refl_equal. % 47.72/47.86 apply zenon_H391. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L146_ *) % 47.72/47.86 assert (zenon_L147_ : ((op (e5) (e1)) = (e3)) -> ((op (e3) (e2)) = (e1)) -> (~((e3) = (op (e5) (op (e3) (e2))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hd9 zenon_H81 zenon_H395. % 47.72/47.86 elim (classic ((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2))))); [ zenon_intro zenon_H396 | zenon_intro zenon_H397 ]. % 47.72/47.86 cut (((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2)))) = ((e3) = (op (e5) (op (e3) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H395. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H396. % 47.72/47.86 cut (((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H397]. % 47.72/47.86 cut (((op (e5) (op (e3) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H398]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e1)) = (e3)) = ((op (e5) (op (e3) (e2))) = (e3))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H398. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hd9. % 47.72/47.86 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.86 cut (((op (e5) (e1)) = (op (e5) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H399]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2))))); [ zenon_intro zenon_H396 | zenon_intro zenon_H397 ]. % 47.72/47.86 cut (((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2)))) = ((op (e5) (e1)) = (op (e5) (op (e3) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H399. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H396. % 47.72/47.86 cut (((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H397]. % 47.72/47.86 cut (((op (e5) (op (e3) (e2))) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H39a]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H88 zenon_H81). % 47.72/47.86 apply zenon_H397. apply refl_equal. % 47.72/47.86 apply zenon_H397. apply refl_equal. % 47.72/47.86 apply zenon_H1a. apply refl_equal. % 47.72/47.86 apply zenon_H397. apply refl_equal. % 47.72/47.86 apply zenon_H397. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L147_ *) % 47.72/47.86 assert (zenon_L148_ : ((op (e5) (e4)) = (e2)) -> ((op (e3) (e3)) = (e4)) -> (~((e2) = (op (e5) (op (e3) (e3))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hf1 zenon_H89 zenon_H39b. % 47.72/47.86 elim (classic ((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3))))); [ zenon_intro zenon_H39c | zenon_intro zenon_H39d ]. % 47.72/47.86 cut (((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3)))) = ((e2) = (op (e5) (op (e3) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H39b. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H39c. % 47.72/47.86 cut (((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H39d]. % 47.72/47.86 cut (((op (e5) (op (e3) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H39e]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e4)) = (e2)) = ((op (e5) (op (e3) (e3))) = (e2))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H39e. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hf1. % 47.72/47.86 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.86 cut (((op (e5) (e4)) = (op (e5) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H39f]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3))))); [ zenon_intro zenon_H39c | zenon_intro zenon_H39d ]. % 47.72/47.86 cut (((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3)))) = ((op (e5) (e4)) = (op (e5) (op (e3) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H39f. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H39c. % 47.72/47.86 cut (((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H39d]. % 47.72/47.86 cut (((op (e5) (op (e3) (e3))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H3a0]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e3) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H90 zenon_H89). % 47.72/47.86 apply zenon_H39d. apply refl_equal. % 47.72/47.86 apply zenon_H39d. apply refl_equal. % 47.72/47.86 apply zenon_H6. apply refl_equal. % 47.72/47.86 apply zenon_H39d. apply refl_equal. % 47.72/47.86 apply zenon_H39d. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L148_ *) % 47.72/47.86 assert (zenon_L149_ : ((op (e5) (e0)) = (e5)) -> ((op (e3) (e4)) = (e0)) -> (~((e5) = (op (e5) (op (e3) (e4))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hd1 zenon_H91 zenon_H3a1. % 47.72/47.86 elim (classic ((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4))))); [ zenon_intro zenon_H3a2 | zenon_intro zenon_H3a3 ]. % 47.72/47.86 cut (((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4)))) = ((e5) = (op (e5) (op (e3) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3a1. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3a2. % 47.72/47.86 cut (((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3a3]. % 47.72/47.86 cut (((op (e5) (op (e3) (e4))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H3a4]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e0)) = (e5)) = ((op (e5) (op (e3) (e4))) = (e5))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3a4. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hd1. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 cut (((op (e5) (e0)) = (op (e5) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3a5]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4))))); [ zenon_intro zenon_H3a2 | zenon_intro zenon_H3a3 ]. % 47.72/47.86 cut (((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4)))) = ((op (e5) (e0)) = (op (e5) (op (e3) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3a5. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3a2. % 47.72/47.86 cut (((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3a3]. % 47.72/47.86 cut (((op (e5) (op (e3) (e4))) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H3a6]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e3) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_H98 zenon_H91). % 47.72/47.86 apply zenon_H3a3. apply refl_equal. % 47.72/47.86 apply zenon_H3a3. apply refl_equal. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 apply zenon_H3a3. apply refl_equal. % 47.72/47.86 apply zenon_H3a3. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L149_ *) % 47.72/47.86 assert (zenon_L150_ : ((op (e5) (e2)) = (e4)) -> ((op (e3) (e5)) = (e2)) -> (~((e4) = (op (e5) (op (e3) (e5))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_He1 zenon_H99 zenon_H3a7. % 47.72/47.86 elim (classic ((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5))))); [ zenon_intro zenon_H3a8 | zenon_intro zenon_H3a9 ]. % 47.72/47.86 cut (((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5)))) = ((e4) = (op (e5) (op (e3) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3a7. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3a8. % 47.72/47.86 cut (((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3a9]. % 47.72/47.86 cut (((op (e5) (op (e3) (e5))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H3aa]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e2)) = (e4)) = ((op (e5) (op (e3) (e5))) = (e4))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3aa. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_He1. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 cut (((op (e5) (e2)) = (op (e5) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3ab]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5))))); [ zenon_intro zenon_H3a8 | zenon_intro zenon_H3a9 ]. % 47.72/47.86 cut (((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5)))) = ((op (e5) (e2)) = (op (e5) (op (e3) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3ab. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3a8. % 47.72/47.86 cut (((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3a9]. % 47.72/47.86 cut (((op (e5) (op (e3) (e5))) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H3ac]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e3) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_Ha0 zenon_H99). % 47.72/47.86 apply zenon_H3a9. apply refl_equal. % 47.72/47.86 apply zenon_H3a9. apply refl_equal. % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 apply zenon_H3a9. apply refl_equal. % 47.72/47.86 apply zenon_H3a9. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L150_ *) % 47.72/47.86 assert (zenon_L151_ : ((op (e5) (e4)) = (e2)) -> ((op (e4) (e0)) = (e4)) -> (~((e2) = (op (e5) (op (e4) (e0))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hf1 zenon_Ha1 zenon_H3ad. % 47.72/47.86 elim (classic ((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0))))); [ zenon_intro zenon_H3ae | zenon_intro zenon_H3af ]. % 47.72/47.86 cut (((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0)))) = ((e2) = (op (e5) (op (e4) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3ad. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3ae. % 47.72/47.86 cut (((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H3af]. % 47.72/47.86 cut (((op (e5) (op (e4) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H3b0]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e4)) = (e2)) = ((op (e5) (op (e4) (e0))) = (e2))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3b0. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hf1. % 47.72/47.86 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.86 cut (((op (e5) (e4)) = (op (e5) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H3b1]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0))))); [ zenon_intro zenon_H3ae | zenon_intro zenon_H3af ]. % 47.72/47.86 cut (((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0)))) = ((op (e5) (e4)) = (op (e5) (op (e4) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3b1. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3ae. % 47.72/47.86 cut (((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H3af]. % 47.72/47.86 cut (((op (e5) (op (e4) (e0))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H3b2]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_Ha8 zenon_Ha1). % 47.72/47.86 apply zenon_H3af. apply refl_equal. % 47.72/47.86 apply zenon_H3af. apply refl_equal. % 47.72/47.86 apply zenon_H6. apply refl_equal. % 47.72/47.86 apply zenon_H3af. apply refl_equal. % 47.72/47.86 apply zenon_H3af. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L151_ *) % 47.72/47.86 assert (zenon_L152_ : ((op (e5) (e2)) = (e4)) -> ((op (e4) (e1)) = (e2)) -> (~((e4) = (op (e5) (op (e4) (e1))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_He1 zenon_Ha9 zenon_H3b3. % 47.72/47.86 elim (classic ((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1))))); [ zenon_intro zenon_H3b4 | zenon_intro zenon_H3b5 ]. % 47.72/47.86 cut (((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1)))) = ((e4) = (op (e5) (op (e4) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3b3. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3b4. % 47.72/47.86 cut (((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H3b5]. % 47.72/47.86 cut (((op (e5) (op (e4) (e1))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H3b6]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e2)) = (e4)) = ((op (e5) (op (e4) (e1))) = (e4))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3b6. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_He1. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 cut (((op (e5) (e2)) = (op (e5) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H3b7]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1))))); [ zenon_intro zenon_H3b4 | zenon_intro zenon_H3b5 ]. % 47.72/47.86 cut (((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1)))) = ((op (e5) (e2)) = (op (e5) (op (e4) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3b7. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3b4. % 47.72/47.86 cut (((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H3b5]. % 47.72/47.86 cut (((op (e5) (op (e4) (e1))) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H3b8]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_Hb0 zenon_Ha9). % 47.72/47.86 apply zenon_H3b5. apply refl_equal. % 47.72/47.86 apply zenon_H3b5. apply refl_equal. % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 apply zenon_H3b5. apply refl_equal. % 47.72/47.86 apply zenon_H3b5. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L152_ *) % 47.72/47.86 assert (zenon_L153_ : ((op (e5) (e5)) = (e0)) -> ((op (e4) (e2)) = (e5)) -> (~((e0) = (op (e5) (op (e4) (e2))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hf9 zenon_Hb1 zenon_H3b9. % 47.72/47.86 elim (classic ((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2))))); [ zenon_intro zenon_H3ba | zenon_intro zenon_H3bb ]. % 47.72/47.86 cut (((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2)))) = ((e0) = (op (e5) (op (e4) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3b9. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3ba. % 47.72/47.86 cut (((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H3bb]. % 47.72/47.86 cut (((op (e5) (op (e4) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3bc]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e5)) = (e0)) = ((op (e5) (op (e4) (e2))) = (e0))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3bc. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hf9. % 47.72/47.86 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.86 cut (((op (e5) (e5)) = (op (e5) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H3bd]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2))))); [ zenon_intro zenon_H3ba | zenon_intro zenon_H3bb ]. % 47.72/47.86 cut (((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2)))) = ((op (e5) (e5)) = (op (e5) (op (e4) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3bd. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3ba. % 47.72/47.86 cut (((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H3bb]. % 47.72/47.86 cut (((op (e5) (op (e4) (e2))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H3be]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_Hb8 zenon_Hb1). % 47.72/47.86 apply zenon_H3bb. apply refl_equal. % 47.72/47.86 apply zenon_H3bb. apply refl_equal. % 47.72/47.86 apply zenon_H7. apply refl_equal. % 47.72/47.86 apply zenon_H3bb. apply refl_equal. % 47.72/47.86 apply zenon_H3bb. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L153_ *) % 47.72/47.86 assert (zenon_L154_ : ((op (e5) (e0)) = (e5)) -> ((op (e4) (e3)) = (e0)) -> (~((e5) = (op (e5) (op (e4) (e3))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hd1 zenon_Hb9 zenon_H3bf. % 47.72/47.86 elim (classic ((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3))))); [ zenon_intro zenon_H3c0 | zenon_intro zenon_H3c1 ]. % 47.72/47.86 cut (((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3)))) = ((e5) = (op (e5) (op (e4) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3bf. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3c0. % 47.72/47.86 cut (((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H3c1]. % 47.72/47.86 cut (((op (e5) (op (e4) (e3))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H3c2]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e0)) = (e5)) = ((op (e5) (op (e4) (e3))) = (e5))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3c2. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hd1. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 cut (((op (e5) (e0)) = (op (e5) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H3c3]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3))))); [ zenon_intro zenon_H3c0 | zenon_intro zenon_H3c1 ]. % 47.72/47.86 cut (((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3)))) = ((op (e5) (e0)) = (op (e5) (op (e4) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3c3. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3c0. % 47.72/47.86 cut (((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H3c1]. % 47.72/47.86 cut (((op (e5) (op (e4) (e3))) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H3c4]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e4) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_Hc0 zenon_Hb9). % 47.72/47.86 apply zenon_H3c1. apply refl_equal. % 47.72/47.86 apply zenon_H3c1. apply refl_equal. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 apply zenon_H3c1. apply refl_equal. % 47.72/47.86 apply zenon_H3c1. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L154_ *) % 47.72/47.86 assert (zenon_L155_ : ((op (e5) (e3)) = (e1)) -> ((op (e4) (e4)) = (e3)) -> (~((e1) = (op (e5) (op (e4) (e4))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_He9 zenon_Hc1 zenon_H3c5. % 47.72/47.86 elim (classic ((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4))))); [ zenon_intro zenon_H3c6 | zenon_intro zenon_H3c7 ]. % 47.72/47.86 cut (((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4)))) = ((e1) = (op (e5) (op (e4) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3c5. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3c6. % 47.72/47.86 cut (((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3c7]. % 47.72/47.86 cut (((op (e5) (op (e4) (e4))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H3c8]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e3)) = (e1)) = ((op (e5) (op (e4) (e4))) = (e1))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3c8. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_He9. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 cut (((op (e5) (e3)) = (op (e5) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3c9]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4))))); [ zenon_intro zenon_H3c6 | zenon_intro zenon_H3c7 ]. % 47.72/47.86 cut (((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4)))) = ((op (e5) (e3)) = (op (e5) (op (e4) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3c9. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3c6. % 47.72/47.86 cut (((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3c7]. % 47.72/47.86 cut (((op (e5) (op (e4) (e4))) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H3ca]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_Hc8 zenon_Hc1). % 47.72/47.86 apply zenon_H3c7. apply refl_equal. % 47.72/47.86 apply zenon_H3c7. apply refl_equal. % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H3c7. apply refl_equal. % 47.72/47.86 apply zenon_H3c7. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L155_ *) % 47.72/47.86 assert (zenon_L156_ : ((op (e5) (e1)) = (e3)) -> ((op (e4) (e5)) = (e1)) -> (~((e3) = (op (e5) (op (e4) (e5))))) -> False). % 47.72/47.86 do 0 intro. intros zenon_Hd9 zenon_Hc9 zenon_H3cb. % 47.72/47.86 elim (classic ((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5))))); [ zenon_intro zenon_H3cc | zenon_intro zenon_H3cd ]. % 47.72/47.86 cut (((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5)))) = ((e3) = (op (e5) (op (e4) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3cb. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3cc. % 47.72/47.86 cut (((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3cd]. % 47.72/47.86 cut (((op (e5) (op (e4) (e5))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H3ce]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e5) (e1)) = (e3)) = ((op (e5) (op (e4) (e5))) = (e3))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3ce. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hd9. % 47.72/47.86 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.86 cut (((op (e5) (e1)) = (op (e5) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3cf]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5))))); [ zenon_intro zenon_H3cc | zenon_intro zenon_H3cd ]. % 47.72/47.86 cut (((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5)))) = ((op (e5) (e1)) = (op (e5) (op (e4) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3cf. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H3cc. % 47.72/47.86 cut (((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3cd]. % 47.72/47.86 cut (((op (e5) (op (e4) (e5))) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H3d0]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e4) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 exact (zenon_Hd0 zenon_Hc9). % 47.72/47.86 apply zenon_H3cd. apply refl_equal. % 47.72/47.86 apply zenon_H3cd. apply refl_equal. % 47.72/47.86 apply zenon_H1a. apply refl_equal. % 47.72/47.86 apply zenon_H3cd. apply refl_equal. % 47.72/47.86 apply zenon_H3cd. apply refl_equal. % 47.72/47.86 (* end of lemma zenon_L156_ *) % 47.72/47.86 assert (zenon_L157_ : (~((unit) = (e0))) -> False). % 47.72/47.86 do 0 intro. intros zenon_H3d1. % 47.72/47.86 exact (zenon_H3d1 ax3). % 47.72/47.86 (* end of lemma zenon_L157_ *) % 47.72/47.86 apply NNPP. intro zenon_G. % 47.72/47.86 apply (zenon_and_s _ _ ax1). zenon_intro zenon_H3d3. zenon_intro zenon_H3d2. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3d2). zenon_intro zenon_H3d5. zenon_intro zenon_H3d4. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3d4). zenon_intro zenon_H3d7. zenon_intro zenon_H3d6. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3d6). zenon_intro zenon_H3d9. zenon_intro zenon_H3d8. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3d8). zenon_intro zenon_H3db. zenon_intro zenon_H3da. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3da). zenon_intro zenon_H3dd. zenon_intro zenon_H3dc. % 47.72/47.86 apply (zenon_and_s _ _ ax2). zenon_intro zenon_H11. zenon_intro zenon_H3de. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3de). zenon_intro zenon_H8. zenon_intro zenon_H3df. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3df). zenon_intro zenon_H24. zenon_intro zenon_H3e0. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3e0). zenon_intro zenon_H1b. zenon_intro zenon_H3e1. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3e1). zenon_intro zenon_H38. zenon_intro zenon_H3e2. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3e2). zenon_intro zenon_H2f. zenon_intro zenon_H3e3. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3e3). zenon_intro zenon_H9. zenon_intro zenon_H3e4. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H12. zenon_intro zenon_H3e5. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3e5). zenon_intro zenon_H1c. zenon_intro zenon_H3e6. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3e6). zenon_intro zenon_H25. zenon_intro zenon_H3e7. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3e7). zenon_intro zenon_H30. zenon_intro zenon_H3e8. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3e8). zenon_intro zenon_H39. zenon_intro zenon_H3e9. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3e9). zenon_intro zenon_H41. zenon_intro zenon_H3ea. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_H49. zenon_intro zenon_H3eb. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3eb). zenon_intro zenon_H51. zenon_intro zenon_H3ec. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3ec). zenon_intro zenon_H59. zenon_intro zenon_H3ed. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3ed). zenon_intro zenon_H61. zenon_intro zenon_H3ee. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3ee). zenon_intro zenon_H69. zenon_intro zenon_H3ef. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3ef). zenon_intro zenon_H71. zenon_intro zenon_H3f0. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3f0). zenon_intro zenon_H79. zenon_intro zenon_H3f1. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3f1). zenon_intro zenon_H81. zenon_intro zenon_H3f2. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3f2). zenon_intro zenon_H89. zenon_intro zenon_H3f3. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3f3). zenon_intro zenon_H91. zenon_intro zenon_H3f4. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3f4). zenon_intro zenon_H99. zenon_intro zenon_H3f5. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3f5). zenon_intro zenon_Ha1. zenon_intro zenon_H3f6. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3f6). zenon_intro zenon_Ha9. zenon_intro zenon_H3f7. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3f7). zenon_intro zenon_Hb1. zenon_intro zenon_H3f8. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3f8). zenon_intro zenon_Hb9. zenon_intro zenon_H3f9. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3f9). zenon_intro zenon_Hc1. zenon_intro zenon_H3fa. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3fa). zenon_intro zenon_Hc9. zenon_intro zenon_H3fb. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3fb). zenon_intro zenon_Hd1. zenon_intro zenon_H3fc. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3fc). zenon_intro zenon_Hd9. zenon_intro zenon_H3fd. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3fd). zenon_intro zenon_He1. zenon_intro zenon_H3fe. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3fe). zenon_intro zenon_He9. zenon_intro zenon_H3ff. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H3ff). zenon_intro zenon_Hf1. zenon_intro zenon_Hf9. % 47.72/47.86 apply (zenon_and_s _ _ ax4). zenon_intro zenon_H401. zenon_intro zenon_H400. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H400). zenon_intro zenon_H403. zenon_intro zenon_H402. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H402). zenon_intro zenon_H405. zenon_intro zenon_H404. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H404). zenon_intro zenon_H407. zenon_intro zenon_H406. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H406). zenon_intro zenon_H409. zenon_intro zenon_H408. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_G); [ zenon_intro zenon_H40b | zenon_intro zenon_H40a ]. % 47.72/47.86 apply zenon_H40b. zenon_intro zenon_H40c. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H40c). zenon_intro zenon_H40e. zenon_intro zenon_H40d. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H40d). zenon_intro zenon_H410. zenon_intro zenon_H40f. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H40f). zenon_intro zenon_H412. zenon_intro zenon_H411. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H411). zenon_intro zenon_H414. zenon_intro zenon_H413. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H413). zenon_intro zenon_H416. zenon_intro zenon_H415. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H415). zenon_intro zenon_H418. zenon_intro zenon_H417. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H417). zenon_intro zenon_H41a. zenon_intro zenon_H419. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H419). zenon_intro zenon_H41c. zenon_intro zenon_H41b. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H41b). zenon_intro zenon_H41e. zenon_intro zenon_H41d. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H41d). zenon_intro zenon_H420. zenon_intro zenon_H41f. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H41f). zenon_intro zenon_H422. zenon_intro zenon_H421. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H421). zenon_intro zenon_H424. zenon_intro zenon_H423. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H423). zenon_intro zenon_H426. zenon_intro zenon_H425. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H425). zenon_intro zenon_H428. zenon_intro zenon_H427. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H427). zenon_intro zenon_H42a. zenon_intro zenon_H429. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H429). zenon_intro zenon_H42c. zenon_intro zenon_H42b. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H42b). zenon_intro zenon_H42e. zenon_intro zenon_H42d. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H42d). zenon_intro zenon_H430. zenon_intro zenon_H42f. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H42f). zenon_intro zenon_H432. zenon_intro zenon_H431. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H431). zenon_intro zenon_H434. zenon_intro zenon_H433. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H433). zenon_intro zenon_H436. zenon_intro zenon_H435. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H435). zenon_intro zenon_H438. zenon_intro zenon_H437. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H437). zenon_intro zenon_H43a. zenon_intro zenon_H439. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H439). zenon_intro zenon_H43c. zenon_intro zenon_H43b. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H43b). zenon_intro zenon_H43e. zenon_intro zenon_H43d. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H43d). zenon_intro zenon_H440. zenon_intro zenon_H43f. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H43f). zenon_intro zenon_H442. zenon_intro zenon_H441. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H441). zenon_intro zenon_H444. zenon_intro zenon_H443. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H443). zenon_intro zenon_H446. zenon_intro zenon_H445. % 47.72/47.86 apply (zenon_and_s _ _ zenon_H445). zenon_intro zenon_H448. zenon_intro zenon_H447. % 47.72/47.86 cut (((op (e5) (e4)) = (e2)) = ((e1) = (e2))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H3dd. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hf1. % 47.72/47.86 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.86 cut (((op (e5) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H449]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((e1) = (e1))); [ zenon_intro zenon_H44a | zenon_intro zenon_H5 ]. % 47.72/47.86 cut (((e1) = (e1)) = ((op (e5) (e4)) = (e1))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H449. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H44a. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 cut (((e1) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H44b]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e5) (e4)) = (op (e5) (e4)))); [ zenon_intro zenon_H44c | zenon_intro zenon_H44d ]. % 47.72/47.86 cut (((op (e5) (e4)) = (op (e5) (e4))) = ((e1) = (op (e5) (e4)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H44b. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H44c. % 47.72/47.86 cut (((op (e5) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H44d]. % 47.72/47.86 cut (((op (e5) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H449]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e4) (e5)) = (e1)) = ((op (e5) (e4)) = (e1))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H449. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hc9. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 cut (((op (e4) (e5)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H44e]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H44e zenon_H448). % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H44d. apply refl_equal. % 47.72/47.86 apply zenon_H44d. apply refl_equal. % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H6. apply refl_equal. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H40a); [ zenon_intro zenon_H450 | zenon_intro zenon_H44f ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H450). zenon_intro zenon_H452. zenon_intro zenon_H451. % 47.72/47.86 exact (zenon_H452 zenon_H11). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H44f); [ zenon_intro zenon_H454 | zenon_intro zenon_H453 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H454). zenon_intro zenon_H456. zenon_intro zenon_H455. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H455). zenon_intro zenon_H458. zenon_intro zenon_H457. % 47.72/47.86 exact (zenon_H458 zenon_H8). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H453); [ zenon_intro zenon_H45a | zenon_intro zenon_H459 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H45a). zenon_intro zenon_H45c. zenon_intro zenon_H45b. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H45b). zenon_intro zenon_H45e. zenon_intro zenon_H45d. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H45d). zenon_intro zenon_H460. zenon_intro zenon_H45f. % 47.72/47.86 exact (zenon_H460 zenon_H24). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H459); [ zenon_intro zenon_H462 | zenon_intro zenon_H461 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H462). zenon_intro zenon_H464. zenon_intro zenon_H463. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H463). zenon_intro zenon_H466. zenon_intro zenon_H465. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H465). zenon_intro zenon_H468. zenon_intro zenon_H467. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H467). zenon_intro zenon_H46a. zenon_intro zenon_H469. % 47.72/47.86 exact (zenon_H46a zenon_H1b). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H461); [ zenon_intro zenon_H46c | zenon_intro zenon_H46b ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H46c). zenon_intro zenon_H46e. zenon_intro zenon_H46d. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H46d). zenon_intro zenon_H470. zenon_intro zenon_H46f. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H46f). zenon_intro zenon_H472. zenon_intro zenon_H471. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H471). zenon_intro zenon_H474. zenon_intro zenon_H473. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H473). zenon_intro zenon_H476. zenon_intro zenon_H475. % 47.72/47.86 exact (zenon_H476 zenon_H38). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H46b); [ zenon_intro zenon_H478 | zenon_intro zenon_H477 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H478). zenon_intro zenon_H47a. zenon_intro zenon_H479. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H479). zenon_intro zenon_H47c. zenon_intro zenon_H47b. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H47b). zenon_intro zenon_H47e. zenon_intro zenon_H47d. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H47d). zenon_intro zenon_H480. zenon_intro zenon_H47f. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H47f). zenon_intro zenon_H482. zenon_intro zenon_H481. % 47.72/47.86 exact (zenon_H481 zenon_H2f). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H477); [ zenon_intro zenon_H484 | zenon_intro zenon_H483 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H484). zenon_intro zenon_H486. zenon_intro zenon_H485. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H485). zenon_intro zenon_H10. zenon_intro zenon_H487. % 47.72/47.86 exact (zenon_H10 zenon_H9). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H483); [ zenon_intro zenon_H489 | zenon_intro zenon_H488 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H489). zenon_intro zenon_H19. zenon_intro zenon_H48a. % 47.72/47.86 exact (zenon_H19 zenon_H12). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H488); [ zenon_intro zenon_H48c | zenon_intro zenon_H48b ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H48c). zenon_intro zenon_H48e. zenon_intro zenon_H48d. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H48d). zenon_intro zenon_H490. zenon_intro zenon_H48f. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H48f). zenon_intro zenon_H492. zenon_intro zenon_H491. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H491). zenon_intro zenon_H23. zenon_intro zenon_H493. % 47.72/47.86 exact (zenon_H23 zenon_H1c). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H48b); [ zenon_intro zenon_H495 | zenon_intro zenon_H494 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H495). zenon_intro zenon_H497. zenon_intro zenon_H496. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H496). zenon_intro zenon_H499. zenon_intro zenon_H498. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H498). zenon_intro zenon_H2c. zenon_intro zenon_H49a. % 47.72/47.86 exact (zenon_H2c zenon_H25). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H494); [ zenon_intro zenon_H49c | zenon_intro zenon_H49b ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H49c). zenon_intro zenon_H49e. zenon_intro zenon_H49d. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H49d). zenon_intro zenon_H4a0. zenon_intro zenon_H49f. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H49f). zenon_intro zenon_H4a2. zenon_intro zenon_H4a1. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4a1). zenon_intro zenon_H4a4. zenon_intro zenon_H4a3. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4a3). zenon_intro zenon_H4a5. zenon_intro zenon_H37. % 47.72/47.86 exact (zenon_H37 zenon_H30). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H49b); [ zenon_intro zenon_H4a7 | zenon_intro zenon_H4a6 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4a7). zenon_intro zenon_H4a9. zenon_intro zenon_H4a8. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4a8). zenon_intro zenon_H4ab. zenon_intro zenon_H4aa. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4aa). zenon_intro zenon_H4ad. zenon_intro zenon_H4ac. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4ac). zenon_intro zenon_H4af. zenon_intro zenon_H4ae. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4ae). zenon_intro zenon_H40. zenon_intro zenon_H4b0. % 47.72/47.86 exact (zenon_H40 zenon_H39). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H4a6); [ zenon_intro zenon_H4b2 | zenon_intro zenon_H4b1 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4b2). zenon_intro zenon_H4b4. zenon_intro zenon_H4b3. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4b3). zenon_intro zenon_H4b6. zenon_intro zenon_H4b5. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4b5). zenon_intro zenon_H48. zenon_intro zenon_H4b7. % 47.72/47.86 exact (zenon_H48 zenon_H41). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H4b1); [ zenon_intro zenon_H4b9 | zenon_intro zenon_H4b8 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4b9). zenon_intro zenon_H4bb. zenon_intro zenon_H4ba. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4ba). zenon_intro zenon_H4bd. zenon_intro zenon_H4bc. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4bc). zenon_intro zenon_H4bf. zenon_intro zenon_H4be. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4be). zenon_intro zenon_H4c1. zenon_intro zenon_H4c0. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4c0). zenon_intro zenon_H50. zenon_intro zenon_H4c2. % 47.72/47.86 exact (zenon_H50 zenon_H49). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H4b8); [ zenon_intro zenon_H4c4 | zenon_intro zenon_H4c3 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4c4). zenon_intro zenon_H58. zenon_intro zenon_H4c5. % 47.72/47.86 exact (zenon_H58 zenon_H51). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H4c3); [ zenon_intro zenon_H4c7 | zenon_intro zenon_H4c6 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4c7). zenon_intro zenon_H4c9. zenon_intro zenon_H4c8. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4c8). zenon_intro zenon_H4cb. zenon_intro zenon_H4ca. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4ca). zenon_intro zenon_H4cd. zenon_intro zenon_H4cc. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4cc). zenon_intro zenon_H4cf. zenon_intro zenon_H4ce. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4ce). zenon_intro zenon_H4d0. zenon_intro zenon_H60. % 47.72/47.86 exact (zenon_H60 zenon_H59). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H4c6); [ zenon_intro zenon_H4d2 | zenon_intro zenon_H4d1 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4d2). zenon_intro zenon_H4d4. zenon_intro zenon_H4d3. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4d3). zenon_intro zenon_H68. zenon_intro zenon_H4d5. % 47.72/47.86 exact (zenon_H68 zenon_H61). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H4d1); [ zenon_intro zenon_H4d7 | zenon_intro zenon_H4d6 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4d7). zenon_intro zenon_H4d9. zenon_intro zenon_H4d8. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4d8). zenon_intro zenon_H4db. zenon_intro zenon_H4da. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4da). zenon_intro zenon_H4dd. zenon_intro zenon_H4dc. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4dc). zenon_intro zenon_H70. zenon_intro zenon_H4de. % 47.72/47.86 exact (zenon_H70 zenon_H69). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H4d6); [ zenon_intro zenon_H4e0 | zenon_intro zenon_H4df ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4e0). zenon_intro zenon_H4e2. zenon_intro zenon_H4e1. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4e1). zenon_intro zenon_H4e4. zenon_intro zenon_H4e3. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4e3). zenon_intro zenon_H4e6. zenon_intro zenon_H4e5. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4e5). zenon_intro zenon_H78. zenon_intro zenon_H4e7. % 47.72/47.86 exact (zenon_H78 zenon_H71). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H4df); [ zenon_intro zenon_H4e9 | zenon_intro zenon_H4e8 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4e9). zenon_intro zenon_H4eb. zenon_intro zenon_H4ea. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4ea). zenon_intro zenon_H4ed. zenon_intro zenon_H4ec. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4ec). zenon_intro zenon_H4ef. zenon_intro zenon_H4ee. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4ee). zenon_intro zenon_H4f1. zenon_intro zenon_H4f0. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4f0). zenon_intro zenon_H4f2. zenon_intro zenon_H80. % 47.72/47.86 exact (zenon_H80 zenon_H79). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H4e8); [ zenon_intro zenon_H4f4 | zenon_intro zenon_H4f3 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4f4). zenon_intro zenon_H4f6. zenon_intro zenon_H4f5. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4f5). zenon_intro zenon_H88. zenon_intro zenon_H4f7. % 47.72/47.86 exact (zenon_H88 zenon_H81). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H4f3); [ zenon_intro zenon_H4f9 | zenon_intro zenon_H4f8 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4f9). zenon_intro zenon_H4fb. zenon_intro zenon_H4fa. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4fa). zenon_intro zenon_H4fd. zenon_intro zenon_H4fc. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4fc). zenon_intro zenon_H4ff. zenon_intro zenon_H4fe. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H4fe). zenon_intro zenon_H501. zenon_intro zenon_H500. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H500). zenon_intro zenon_H90. zenon_intro zenon_H502. % 47.72/47.86 exact (zenon_H90 zenon_H89). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H4f8); [ zenon_intro zenon_H504 | zenon_intro zenon_H503 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H504). zenon_intro zenon_H98. zenon_intro zenon_H505. % 47.72/47.86 exact (zenon_H98 zenon_H91). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H503); [ zenon_intro zenon_H507 | zenon_intro zenon_H506 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H507). zenon_intro zenon_H509. zenon_intro zenon_H508. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H508). zenon_intro zenon_H50b. zenon_intro zenon_H50a. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H50a). zenon_intro zenon_Ha0. zenon_intro zenon_H50c. % 47.72/47.86 exact (zenon_Ha0 zenon_H99). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H506); [ zenon_intro zenon_H50e | zenon_intro zenon_H50d ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H50e). zenon_intro zenon_H510. zenon_intro zenon_H50f. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H50f). zenon_intro zenon_H512. zenon_intro zenon_H511. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H511). zenon_intro zenon_H514. zenon_intro zenon_H513. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H513). zenon_intro zenon_H516. zenon_intro zenon_H515. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H515). zenon_intro zenon_Ha8. zenon_intro zenon_H517. % 47.72/47.86 exact (zenon_Ha8 zenon_Ha1). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H50d); [ zenon_intro zenon_H519 | zenon_intro zenon_H518 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H519). zenon_intro zenon_H51b. zenon_intro zenon_H51a. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H51a). zenon_intro zenon_H51d. zenon_intro zenon_H51c. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H51c). zenon_intro zenon_Hb0. zenon_intro zenon_H51e. % 47.72/47.86 exact (zenon_Hb0 zenon_Ha9). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H518); [ zenon_intro zenon_H520 | zenon_intro zenon_H51f ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H520). zenon_intro zenon_H522. zenon_intro zenon_H521. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H521). zenon_intro zenon_H524. zenon_intro zenon_H523. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H523). zenon_intro zenon_H526. zenon_intro zenon_H525. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H525). zenon_intro zenon_H528. zenon_intro zenon_H527. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H527). zenon_intro zenon_H529. zenon_intro zenon_Hb8. % 47.72/47.86 exact (zenon_Hb8 zenon_Hb1). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H51f); [ zenon_intro zenon_H52b | zenon_intro zenon_H52a ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H52b). zenon_intro zenon_Hc0. zenon_intro zenon_H52c. % 47.72/47.86 exact (zenon_Hc0 zenon_Hb9). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H52a); [ zenon_intro zenon_H52e | zenon_intro zenon_H52d ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H52e). zenon_intro zenon_H530. zenon_intro zenon_H52f. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H52f). zenon_intro zenon_H532. zenon_intro zenon_H531. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H531). zenon_intro zenon_H534. zenon_intro zenon_H533. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H533). zenon_intro zenon_Hc8. zenon_intro zenon_H535. % 47.72/47.86 exact (zenon_Hc8 zenon_Hc1). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H52d); [ zenon_intro zenon_H537 | zenon_intro zenon_H536 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H537). zenon_intro zenon_H539. zenon_intro zenon_H538. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H538). zenon_intro zenon_Hd0. zenon_intro zenon_H53a. % 47.72/47.86 exact (zenon_Hd0 zenon_Hc9). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H536); [ zenon_intro zenon_H53c | zenon_intro zenon_H53b ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H53c). zenon_intro zenon_H53e. zenon_intro zenon_H53d. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H53d). zenon_intro zenon_H540. zenon_intro zenon_H53f. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H53f). zenon_intro zenon_H542. zenon_intro zenon_H541. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H541). zenon_intro zenon_H544. zenon_intro zenon_H543. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H543). zenon_intro zenon_H545. zenon_intro zenon_Hd8. % 47.72/47.86 exact (zenon_Hd8 zenon_Hd1). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H53b); [ zenon_intro zenon_H547 | zenon_intro zenon_H546 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H547). zenon_intro zenon_H549. zenon_intro zenon_H548. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H548). zenon_intro zenon_H54b. zenon_intro zenon_H54a. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H54a). zenon_intro zenon_H54d. zenon_intro zenon_H54c. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H54c). zenon_intro zenon_He0. zenon_intro zenon_H54e. % 47.72/47.86 exact (zenon_He0 zenon_Hd9). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H546); [ zenon_intro zenon_H550 | zenon_intro zenon_H54f ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H550). zenon_intro zenon_H552. zenon_intro zenon_H551. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H551). zenon_intro zenon_H554. zenon_intro zenon_H553. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H553). zenon_intro zenon_H556. zenon_intro zenon_H555. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H555). zenon_intro zenon_H558. zenon_intro zenon_H557. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H557). zenon_intro zenon_He8. zenon_intro zenon_H559. % 47.72/47.86 exact (zenon_He8 zenon_He1). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H54f); [ zenon_intro zenon_H55b | zenon_intro zenon_H55a ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H55b). zenon_intro zenon_H55d. zenon_intro zenon_H55c. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H55c). zenon_intro zenon_Hf0. zenon_intro zenon_H55e. % 47.72/47.86 exact (zenon_Hf0 zenon_He9). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H55a); [ zenon_intro zenon_H560 | zenon_intro zenon_H55f ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H560). zenon_intro zenon_H562. zenon_intro zenon_H561. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H561). zenon_intro zenon_H449. zenon_intro zenon_H563. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H563). zenon_intro zenon_Hf8. zenon_intro zenon_H564. % 47.72/47.86 exact (zenon_Hf8 zenon_Hf1). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H55f); [ zenon_intro zenon_H566 | zenon_intro zenon_H565 ]. % 47.72/47.86 apply (zenon_notor_s _ _ zenon_H566). zenon_intro zenon_H100. zenon_intro zenon_H567. % 47.72/47.86 exact (zenon_H100 zenon_Hf9). % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H565); [ zenon_intro zenon_H569 | zenon_intro zenon_H568 ]. % 47.72/47.86 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H56a]. % 47.72/47.86 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H452]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H452 zenon_H11). % 47.72/47.86 apply zenon_H56a. apply sym_equal. exact zenon_H11. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H568); [ zenon_intro zenon_H56c | zenon_intro zenon_H56b ]. % 47.72/47.86 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H56d]. % 47.72/47.86 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H452]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H452 zenon_H11). % 47.72/47.86 apply zenon_H56d. apply sym_equal. exact zenon_H8. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H56b); [ zenon_intro zenon_H56f | zenon_intro zenon_H56e ]. % 47.72/47.86 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H570]. % 47.72/47.86 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H452]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H452 zenon_H11). % 47.72/47.86 apply zenon_H570. apply sym_equal. exact zenon_H24. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H56e); [ zenon_intro zenon_H572 | zenon_intro zenon_H571 ]. % 47.72/47.86 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H573]. % 47.72/47.86 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H452]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H452 zenon_H11). % 47.72/47.86 apply zenon_H573. apply sym_equal. exact zenon_H1b. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H571); [ zenon_intro zenon_H575 | zenon_intro zenon_H574 ]. % 47.72/47.86 cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H576]. % 47.72/47.86 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H452]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H452 zenon_H11). % 47.72/47.86 apply zenon_H576. apply sym_equal. exact zenon_H38. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H574); [ zenon_intro zenon_H578 | zenon_intro zenon_H577 ]. % 47.72/47.86 cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H579]. % 47.72/47.86 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H452]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H452 zenon_H11). % 47.72/47.86 apply zenon_H579. apply sym_equal. exact zenon_H2f. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H577); [ zenon_intro zenon_H57b | zenon_intro zenon_H57a ]. % 47.72/47.86 cut (((op (e1) (e0)) = (e1)) = ((op (op (e0) (e1)) (e0)) = (op (e0) (op (e1) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H57b. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H9. % 47.72/47.86 cut (((e1) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 47.72/47.86 cut (((op (e1) (e0)) = (op (op (e0) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H57c]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e1)) (e0)) = (op (op (e0) (e1)) (e0)))); [ zenon_intro zenon_H57d | zenon_intro zenon_H57e ]. % 47.72/47.86 cut (((op (op (e0) (e1)) (e0)) = (op (op (e0) (e1)) (e0))) = ((op (e1) (e0)) = (op (op (e0) (e1)) (e0)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H57c. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H57d. % 47.72/47.86 cut (((op (op (e0) (e1)) (e0)) = (op (op (e0) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H57e]. % 47.72/47.86 cut (((op (op (e0) (e1)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H57f]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.86 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H458]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H458 zenon_H8). % 47.72/47.86 apply zenon_H7. apply refl_equal. % 47.72/47.86 apply zenon_H57e. apply refl_equal. % 47.72/47.86 apply zenon_H57e. apply refl_equal. % 47.72/47.86 apply (zenon_L4_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H57a); [ zenon_intro zenon_H581 | zenon_intro zenon_H580 ]. % 47.72/47.86 cut (((op (e1) (e1)) = (e0)) = ((op (op (e0) (e1)) (e1)) = (op (e0) (op (e1) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H581. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H12. % 47.72/47.86 cut (((e0) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H13]. % 47.72/47.86 cut (((op (e1) (e1)) = (op (op (e0) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H582]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e1)) (e1)) = (op (op (e0) (e1)) (e1)))); [ zenon_intro zenon_H583 | zenon_intro zenon_H584 ]. % 47.72/47.86 cut (((op (op (e0) (e1)) (e1)) = (op (op (e0) (e1)) (e1))) = ((op (e1) (e1)) = (op (op (e0) (e1)) (e1)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H582. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H583. % 47.72/47.86 cut (((op (op (e0) (e1)) (e1)) = (op (op (e0) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H584]. % 47.72/47.86 cut (((op (op (e0) (e1)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H585]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H458]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H458 zenon_H8). % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H584. apply refl_equal. % 47.72/47.86 apply zenon_H584. apply refl_equal. % 47.72/47.86 apply (zenon_L5_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H580); [ zenon_intro zenon_H587 | zenon_intro zenon_H586 ]. % 47.72/47.86 cut (((op (e1) (e2)) = (e3)) = ((op (op (e0) (e1)) (e2)) = (op (e0) (op (e1) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H587. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H1c. % 47.72/47.86 cut (((e3) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 47.72/47.86 cut (((op (e1) (e2)) = (op (op (e0) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H588]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e1)) (e2)) = (op (op (e0) (e1)) (e2)))); [ zenon_intro zenon_H589 | zenon_intro zenon_H58a ]. % 47.72/47.86 cut (((op (op (e0) (e1)) (e2)) = (op (op (e0) (e1)) (e2))) = ((op (e1) (e2)) = (op (op (e0) (e1)) (e2)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H588. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H589. % 47.72/47.86 cut (((op (op (e0) (e1)) (e2)) = (op (op (e0) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H58a]. % 47.72/47.86 cut (((op (op (e0) (e1)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H58b]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.86 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H458]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H458 zenon_H8). % 47.72/47.86 apply zenon_H6. apply refl_equal. % 47.72/47.86 apply zenon_H58a. apply refl_equal. % 47.72/47.86 apply zenon_H58a. apply refl_equal. % 47.72/47.86 apply (zenon_L7_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H586); [ zenon_intro zenon_H58d | zenon_intro zenon_H58c ]. % 47.72/47.86 cut (((op (e1) (e3)) = (e2)) = ((op (op (e0) (e1)) (e3)) = (op (e0) (op (e1) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H58d. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H25. % 47.72/47.86 cut (((e2) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H26]. % 47.72/47.86 cut (((op (e1) (e3)) = (op (op (e0) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H58e]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e1)) (e3)) = (op (op (e0) (e1)) (e3)))); [ zenon_intro zenon_H58f | zenon_intro zenon_H590 ]. % 47.72/47.86 cut (((op (op (e0) (e1)) (e3)) = (op (op (e0) (e1)) (e3))) = ((op (e1) (e3)) = (op (op (e0) (e1)) (e3)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H58e. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H58f. % 47.72/47.86 cut (((op (op (e0) (e1)) (e3)) = (op (op (e0) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H590]. % 47.72/47.86 cut (((op (op (e0) (e1)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H591]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.86 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H458]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H458 zenon_H8). % 47.72/47.86 apply zenon_H1a. apply refl_equal. % 47.72/47.86 apply zenon_H590. apply refl_equal. % 47.72/47.86 apply zenon_H590. apply refl_equal. % 47.72/47.86 apply (zenon_L8_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H58c); [ zenon_intro zenon_H593 | zenon_intro zenon_H592 ]. % 47.72/47.86 cut (((op (e1) (e4)) = (e5)) = ((op (op (e0) (e1)) (e4)) = (op (e0) (op (e1) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H593. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H30. % 47.72/47.86 cut (((e5) = (op (e0) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H31]. % 47.72/47.86 cut (((op (e1) (e4)) = (op (op (e0) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H594]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e1)) (e4)) = (op (op (e0) (e1)) (e4)))); [ zenon_intro zenon_H595 | zenon_intro zenon_H596 ]. % 47.72/47.86 cut (((op (op (e0) (e1)) (e4)) = (op (op (e0) (e1)) (e4))) = ((op (e1) (e4)) = (op (op (e0) (e1)) (e4)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H594. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H595. % 47.72/47.86 cut (((op (op (e0) (e1)) (e4)) = (op (op (e0) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H596]. % 47.72/47.86 cut (((op (op (e0) (e1)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H597]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H458]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H458 zenon_H8). % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 apply zenon_H596. apply refl_equal. % 47.72/47.86 apply zenon_H596. apply refl_equal. % 47.72/47.86 apply (zenon_L11_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H592); [ zenon_intro zenon_H599 | zenon_intro zenon_H598 ]. % 47.72/47.86 cut (((op (e1) (e5)) = (e4)) = ((op (op (e0) (e1)) (e5)) = (op (e0) (op (e1) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H599. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H39. % 47.72/47.86 cut (((e4) = (op (e0) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3a]. % 47.72/47.86 cut (((op (e1) (e5)) = (op (op (e0) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H59a]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e1)) (e5)) = (op (op (e0) (e1)) (e5)))); [ zenon_intro zenon_H59b | zenon_intro zenon_H59c ]. % 47.72/47.86 cut (((op (op (e0) (e1)) (e5)) = (op (op (e0) (e1)) (e5))) = ((op (e1) (e5)) = (op (op (e0) (e1)) (e5)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H59a. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H59b. % 47.72/47.86 cut (((op (op (e0) (e1)) (e5)) = (op (op (e0) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H59c]. % 47.72/47.86 cut (((op (op (e0) (e1)) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H59d]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H458]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H458 zenon_H8). % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 apply zenon_H59c. apply refl_equal. % 47.72/47.86 apply zenon_H59c. apply refl_equal. % 47.72/47.86 apply (zenon_L12_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H598); [ zenon_intro zenon_H59f | zenon_intro zenon_H59e ]. % 47.72/47.86 cut (((op (e2) (e0)) = (e2)) = ((op (op (e0) (e2)) (e0)) = (op (e0) (op (e2) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H59f. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H41. % 47.72/47.86 cut (((e2) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H42]. % 47.72/47.86 cut (((op (e2) (e0)) = (op (op (e0) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5a0]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e2)) (e0)) = (op (op (e0) (e2)) (e0)))); [ zenon_intro zenon_H5a1 | zenon_intro zenon_H5a2 ]. % 47.72/47.86 cut (((op (op (e0) (e2)) (e0)) = (op (op (e0) (e2)) (e0))) = ((op (e2) (e0)) = (op (op (e0) (e2)) (e0)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5a0. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5a1. % 47.72/47.86 cut (((op (op (e0) (e2)) (e0)) = (op (op (e0) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5a2]. % 47.72/47.86 cut (((op (op (e0) (e2)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5a3]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.86 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H460]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H460 zenon_H24). % 47.72/47.86 apply zenon_H7. apply refl_equal. % 47.72/47.86 apply zenon_H5a2. apply refl_equal. % 47.72/47.86 apply zenon_H5a2. apply refl_equal. % 47.72/47.86 apply (zenon_L13_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H59e); [ zenon_intro zenon_H5a5 | zenon_intro zenon_H5a4 ]. % 47.72/47.86 cut (((op (e2) (e1)) = (e4)) = ((op (op (e0) (e2)) (e1)) = (op (e0) (op (e2) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5a5. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H49. % 47.72/47.86 cut (((e4) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H4a]. % 47.72/47.86 cut (((op (e2) (e1)) = (op (op (e0) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5a6]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e2)) (e1)) = (op (op (e0) (e2)) (e1)))); [ zenon_intro zenon_H5a7 | zenon_intro zenon_H5a8 ]. % 47.72/47.86 cut (((op (op (e0) (e2)) (e1)) = (op (op (e0) (e2)) (e1))) = ((op (e2) (e1)) = (op (op (e0) (e2)) (e1)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5a6. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5a7. % 47.72/47.86 cut (((op (op (e0) (e2)) (e1)) = (op (op (e0) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5a8]. % 47.72/47.86 cut (((op (op (e0) (e2)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5a9]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H460]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H460 zenon_H24). % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H5a8. apply refl_equal. % 47.72/47.86 apply zenon_H5a8. apply refl_equal. % 47.72/47.86 apply (zenon_L14_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5a4); [ zenon_intro zenon_H5ab | zenon_intro zenon_H5aa ]. % 47.72/47.86 cut (((op (e2) (e2)) = (e0)) = ((op (op (e0) (e2)) (e2)) = (op (e0) (op (e2) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5ab. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H51. % 47.72/47.86 cut (((e0) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H52]. % 47.72/47.86 cut (((op (e2) (e2)) = (op (op (e0) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5ac]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e2)) (e2)) = (op (op (e0) (e2)) (e2)))); [ zenon_intro zenon_H5ad | zenon_intro zenon_H5ae ]. % 47.72/47.86 cut (((op (op (e0) (e2)) (e2)) = (op (op (e0) (e2)) (e2))) = ((op (e2) (e2)) = (op (op (e0) (e2)) (e2)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5ac. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5ad. % 47.72/47.86 cut (((op (op (e0) (e2)) (e2)) = (op (op (e0) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5ae]. % 47.72/47.86 cut (((op (op (e0) (e2)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5af]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.86 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H460]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H460 zenon_H24). % 47.72/47.86 apply zenon_H6. apply refl_equal. % 47.72/47.86 apply zenon_H5ae. apply refl_equal. % 47.72/47.86 apply zenon_H5ae. apply refl_equal. % 47.72/47.86 apply (zenon_L15_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5aa); [ zenon_intro zenon_H5b1 | zenon_intro zenon_H5b0 ]. % 47.72/47.86 cut (((op (e2) (e3)) = (e5)) = ((op (op (e0) (e2)) (e3)) = (op (e0) (op (e2) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5b1. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H59. % 47.72/47.86 cut (((e5) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 47.72/47.86 cut (((op (e2) (e3)) = (op (op (e0) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5b2]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e2)) (e3)) = (op (op (e0) (e2)) (e3)))); [ zenon_intro zenon_H5b3 | zenon_intro zenon_H5b4 ]. % 47.72/47.86 cut (((op (op (e0) (e2)) (e3)) = (op (op (e0) (e2)) (e3))) = ((op (e2) (e3)) = (op (op (e0) (e2)) (e3)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5b2. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5b3. % 47.72/47.86 cut (((op (op (e0) (e2)) (e3)) = (op (op (e0) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5b4]. % 47.72/47.86 cut (((op (op (e0) (e2)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5b5]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.86 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H460]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H460 zenon_H24). % 47.72/47.86 apply zenon_H1a. apply refl_equal. % 47.72/47.86 apply zenon_H5b4. apply refl_equal. % 47.72/47.86 apply zenon_H5b4. apply refl_equal. % 47.72/47.86 apply (zenon_L16_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5b0); [ zenon_intro zenon_H5b7 | zenon_intro zenon_H5b6 ]. % 47.72/47.86 cut (((op (e2) (e4)) = (e1)) = ((op (op (e0) (e2)) (e4)) = (op (e0) (op (e2) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5b7. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H61. % 47.72/47.86 cut (((e1) = (op (e0) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 47.72/47.86 cut (((op (e2) (e4)) = (op (op (e0) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5b8]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e2)) (e4)) = (op (op (e0) (e2)) (e4)))); [ zenon_intro zenon_H5b9 | zenon_intro zenon_H5ba ]. % 47.72/47.86 cut (((op (op (e0) (e2)) (e4)) = (op (op (e0) (e2)) (e4))) = ((op (e2) (e4)) = (op (op (e0) (e2)) (e4)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5b8. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5b9. % 47.72/47.86 cut (((op (op (e0) (e2)) (e4)) = (op (op (e0) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5ba]. % 47.72/47.86 cut (((op (op (e0) (e2)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5bb]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H460]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H460 zenon_H24). % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 apply zenon_H5ba. apply refl_equal. % 47.72/47.86 apply zenon_H5ba. apply refl_equal. % 47.72/47.86 apply (zenon_L17_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5b6); [ zenon_intro zenon_H5bd | zenon_intro zenon_H5bc ]. % 47.72/47.86 cut (((op (e2) (e5)) = (e3)) = ((op (op (e0) (e2)) (e5)) = (op (e0) (op (e2) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5bd. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H69. % 47.72/47.86 cut (((e3) = (op (e0) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 47.72/47.86 cut (((op (e2) (e5)) = (op (op (e0) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5be]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e2)) (e5)) = (op (op (e0) (e2)) (e5)))); [ zenon_intro zenon_H5bf | zenon_intro zenon_H5c0 ]. % 47.72/47.86 cut (((op (op (e0) (e2)) (e5)) = (op (op (e0) (e2)) (e5))) = ((op (e2) (e5)) = (op (op (e0) (e2)) (e5)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5be. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5bf. % 47.72/47.86 cut (((op (op (e0) (e2)) (e5)) = (op (op (e0) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5c0]. % 47.72/47.86 cut (((op (op (e0) (e2)) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5c1]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H460]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H460 zenon_H24). % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 apply zenon_H5c0. apply refl_equal. % 47.72/47.86 apply zenon_H5c0. apply refl_equal. % 47.72/47.86 apply (zenon_L18_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5bc); [ zenon_intro zenon_H5c3 | zenon_intro zenon_H5c2 ]. % 47.72/47.86 cut (((op (e3) (e0)) = (e3)) = ((op (op (e0) (e3)) (e0)) = (op (e0) (op (e3) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5c3. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H71. % 47.72/47.86 cut (((e3) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H72]. % 47.72/47.86 cut (((op (e3) (e0)) = (op (op (e0) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5c4]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e3)) (e0)) = (op (op (e0) (e3)) (e0)))); [ zenon_intro zenon_H5c5 | zenon_intro zenon_H5c6 ]. % 47.72/47.86 cut (((op (op (e0) (e3)) (e0)) = (op (op (e0) (e3)) (e0))) = ((op (e3) (e0)) = (op (op (e0) (e3)) (e0)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5c4. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5c5. % 47.72/47.86 cut (((op (op (e0) (e3)) (e0)) = (op (op (e0) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5c6]. % 47.72/47.86 cut (((op (op (e0) (e3)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5c7]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.86 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H46a]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H46a zenon_H1b). % 47.72/47.86 apply zenon_H7. apply refl_equal. % 47.72/47.86 apply zenon_H5c6. apply refl_equal. % 47.72/47.86 apply zenon_H5c6. apply refl_equal. % 47.72/47.86 apply (zenon_L19_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5c2); [ zenon_intro zenon_H5c9 | zenon_intro zenon_H5c8 ]. % 47.72/47.86 cut (((op (e3) (e1)) = (e5)) = ((op (op (e0) (e3)) (e1)) = (op (e0) (op (e3) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5c9. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H79. % 47.72/47.86 cut (((e5) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7a]. % 47.72/47.86 cut (((op (e3) (e1)) = (op (op (e0) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5ca]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e3)) (e1)) = (op (op (e0) (e3)) (e1)))); [ zenon_intro zenon_H5cb | zenon_intro zenon_H5cc ]. % 47.72/47.86 cut (((op (op (e0) (e3)) (e1)) = (op (op (e0) (e3)) (e1))) = ((op (e3) (e1)) = (op (op (e0) (e3)) (e1)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5ca. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5cb. % 47.72/47.86 cut (((op (op (e0) (e3)) (e1)) = (op (op (e0) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5cc]. % 47.72/47.86 cut (((op (op (e0) (e3)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5cd]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H46a]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H46a zenon_H1b). % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H5cc. apply refl_equal. % 47.72/47.86 apply zenon_H5cc. apply refl_equal. % 47.72/47.86 apply (zenon_L20_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5c8); [ zenon_intro zenon_H5cf | zenon_intro zenon_H5ce ]. % 47.72/47.86 cut (((op (e3) (e2)) = (e1)) = ((op (op (e0) (e3)) (e2)) = (op (e0) (op (e3) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5cf. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H81. % 47.72/47.86 cut (((e1) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H82]. % 47.72/47.86 cut (((op (e3) (e2)) = (op (op (e0) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5d0]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e3)) (e2)) = (op (op (e0) (e3)) (e2)))); [ zenon_intro zenon_H5d1 | zenon_intro zenon_H5d2 ]. % 47.72/47.86 cut (((op (op (e0) (e3)) (e2)) = (op (op (e0) (e3)) (e2))) = ((op (e3) (e2)) = (op (op (e0) (e3)) (e2)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5d0. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5d1. % 47.72/47.86 cut (((op (op (e0) (e3)) (e2)) = (op (op (e0) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5d2]. % 47.72/47.86 cut (((op (op (e0) (e3)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5d3]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.86 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H46a]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H46a zenon_H1b). % 47.72/47.86 apply zenon_H6. apply refl_equal. % 47.72/47.86 apply zenon_H5d2. apply refl_equal. % 47.72/47.86 apply zenon_H5d2. apply refl_equal. % 47.72/47.86 apply (zenon_L21_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5ce); [ zenon_intro zenon_H5d5 | zenon_intro zenon_H5d4 ]. % 47.72/47.86 cut (((op (e3) (e3)) = (e4)) = ((op (op (e0) (e3)) (e3)) = (op (e0) (op (e3) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5d5. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H89. % 47.72/47.86 cut (((e4) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H8a]. % 47.72/47.86 cut (((op (e3) (e3)) = (op (op (e0) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5d6]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e3)) (e3)) = (op (op (e0) (e3)) (e3)))); [ zenon_intro zenon_H5d7 | zenon_intro zenon_H5d8 ]. % 47.72/47.86 cut (((op (op (e0) (e3)) (e3)) = (op (op (e0) (e3)) (e3))) = ((op (e3) (e3)) = (op (op (e0) (e3)) (e3)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5d6. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5d7. % 47.72/47.86 cut (((op (op (e0) (e3)) (e3)) = (op (op (e0) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5d8]. % 47.72/47.86 cut (((op (op (e0) (e3)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5d9]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.86 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H46a]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H46a zenon_H1b). % 47.72/47.86 apply zenon_H1a. apply refl_equal. % 47.72/47.86 apply zenon_H5d8. apply refl_equal. % 47.72/47.86 apply zenon_H5d8. apply refl_equal. % 47.72/47.86 apply (zenon_L22_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5d4); [ zenon_intro zenon_H5db | zenon_intro zenon_H5da ]. % 47.72/47.86 cut (((op (e3) (e4)) = (e0)) = ((op (op (e0) (e3)) (e4)) = (op (e0) (op (e3) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5db. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H91. % 47.72/47.86 cut (((e0) = (op (e0) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H92]. % 47.72/47.86 cut (((op (e3) (e4)) = (op (op (e0) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5dc]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e3)) (e4)) = (op (op (e0) (e3)) (e4)))); [ zenon_intro zenon_H5dd | zenon_intro zenon_H5de ]. % 47.72/47.86 cut (((op (op (e0) (e3)) (e4)) = (op (op (e0) (e3)) (e4))) = ((op (e3) (e4)) = (op (op (e0) (e3)) (e4)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5dc. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5dd. % 47.72/47.86 cut (((op (op (e0) (e3)) (e4)) = (op (op (e0) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5de]. % 47.72/47.86 cut (((op (op (e0) (e3)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5df]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H46a]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H46a zenon_H1b). % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 apply zenon_H5de. apply refl_equal. % 47.72/47.86 apply zenon_H5de. apply refl_equal. % 47.72/47.86 apply (zenon_L23_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5da); [ zenon_intro zenon_H5e1 | zenon_intro zenon_H5e0 ]. % 47.72/47.86 cut (((op (e3) (e5)) = (e2)) = ((op (op (e0) (e3)) (e5)) = (op (e0) (op (e3) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5e1. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H99. % 47.72/47.86 cut (((e2) = (op (e0) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9a]. % 47.72/47.86 cut (((op (e3) (e5)) = (op (op (e0) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5e2]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e3)) (e5)) = (op (op (e0) (e3)) (e5)))); [ zenon_intro zenon_H5e3 | zenon_intro zenon_H5e4 ]. % 47.72/47.86 cut (((op (op (e0) (e3)) (e5)) = (op (op (e0) (e3)) (e5))) = ((op (e3) (e5)) = (op (op (e0) (e3)) (e5)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5e2. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5e3. % 47.72/47.86 cut (((op (op (e0) (e3)) (e5)) = (op (op (e0) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5e4]. % 47.72/47.86 cut (((op (op (e0) (e3)) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5e5]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H46a]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H46a zenon_H1b). % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 apply zenon_H5e4. apply refl_equal. % 47.72/47.86 apply zenon_H5e4. apply refl_equal. % 47.72/47.86 apply (zenon_L24_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5e0); [ zenon_intro zenon_H5e7 | zenon_intro zenon_H5e6 ]. % 47.72/47.86 cut (((op (e4) (e0)) = (e4)) = ((op (op (e0) (e4)) (e0)) = (op (e0) (op (e4) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5e7. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Ha1. % 47.72/47.86 cut (((e4) = (op (e0) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha2]. % 47.72/47.86 cut (((op (e4) (e0)) = (op (op (e0) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5e8]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e4)) (e0)) = (op (op (e0) (e4)) (e0)))); [ zenon_intro zenon_H5e9 | zenon_intro zenon_H5ea ]. % 47.72/47.86 cut (((op (op (e0) (e4)) (e0)) = (op (op (e0) (e4)) (e0))) = ((op (e4) (e0)) = (op (op (e0) (e4)) (e0)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5e8. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5e9. % 47.72/47.86 cut (((op (op (e0) (e4)) (e0)) = (op (op (e0) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5ea]. % 47.72/47.86 cut (((op (op (e0) (e4)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5eb]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.86 cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H476]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H476 zenon_H38). % 47.72/47.86 apply zenon_H7. apply refl_equal. % 47.72/47.86 apply zenon_H5ea. apply refl_equal. % 47.72/47.86 apply zenon_H5ea. apply refl_equal. % 47.72/47.86 apply (zenon_L25_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5e6); [ zenon_intro zenon_H5ed | zenon_intro zenon_H5ec ]. % 47.72/47.86 cut (((op (e4) (e1)) = (e2)) = ((op (op (e0) (e4)) (e1)) = (op (e0) (op (e4) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5ed. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Ha9. % 47.72/47.86 cut (((e2) = (op (e0) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Haa]. % 47.72/47.86 cut (((op (e4) (e1)) = (op (op (e0) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5ee]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e4)) (e1)) = (op (op (e0) (e4)) (e1)))); [ zenon_intro zenon_H5ef | zenon_intro zenon_H5f0 ]. % 47.72/47.86 cut (((op (op (e0) (e4)) (e1)) = (op (op (e0) (e4)) (e1))) = ((op (e4) (e1)) = (op (op (e0) (e4)) (e1)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5ee. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5ef. % 47.72/47.86 cut (((op (op (e0) (e4)) (e1)) = (op (op (e0) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5f0]. % 47.72/47.86 cut (((op (op (e0) (e4)) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5f1]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H476]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H476 zenon_H38). % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H5f0. apply refl_equal. % 47.72/47.86 apply zenon_H5f0. apply refl_equal. % 47.72/47.86 apply (zenon_L26_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5ec); [ zenon_intro zenon_H5f3 | zenon_intro zenon_H5f2 ]. % 47.72/47.86 cut (((op (e4) (e2)) = (e5)) = ((op (op (e0) (e4)) (e2)) = (op (e0) (op (e4) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5f3. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hb1. % 47.72/47.86 cut (((e5) = (op (e0) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb2]. % 47.72/47.86 cut (((op (e4) (e2)) = (op (op (e0) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5f4]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e4)) (e2)) = (op (op (e0) (e4)) (e2)))); [ zenon_intro zenon_H5f5 | zenon_intro zenon_H5f6 ]. % 47.72/47.86 cut (((op (op (e0) (e4)) (e2)) = (op (op (e0) (e4)) (e2))) = ((op (e4) (e2)) = (op (op (e0) (e4)) (e2)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5f4. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5f5. % 47.72/47.86 cut (((op (op (e0) (e4)) (e2)) = (op (op (e0) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5f6]. % 47.72/47.86 cut (((op (op (e0) (e4)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5f7]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.86 cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H476]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H476 zenon_H38). % 47.72/47.86 apply zenon_H6. apply refl_equal. % 47.72/47.86 apply zenon_H5f6. apply refl_equal. % 47.72/47.86 apply zenon_H5f6. apply refl_equal. % 47.72/47.86 apply (zenon_L27_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5f2); [ zenon_intro zenon_H5f9 | zenon_intro zenon_H5f8 ]. % 47.72/47.86 cut (((op (e4) (e3)) = (e0)) = ((op (op (e0) (e4)) (e3)) = (op (e0) (op (e4) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5f9. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hb9. % 47.72/47.86 cut (((e0) = (op (e0) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hba]. % 47.72/47.86 cut (((op (e4) (e3)) = (op (op (e0) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5fa]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e4)) (e3)) = (op (op (e0) (e4)) (e3)))); [ zenon_intro zenon_H5fb | zenon_intro zenon_H5fc ]. % 47.72/47.86 cut (((op (op (e0) (e4)) (e3)) = (op (op (e0) (e4)) (e3))) = ((op (e4) (e3)) = (op (op (e0) (e4)) (e3)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5fa. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H5fb. % 47.72/47.86 cut (((op (op (e0) (e4)) (e3)) = (op (op (e0) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5fc]. % 47.72/47.86 cut (((op (op (e0) (e4)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5fd]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.86 cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H476]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H476 zenon_H38). % 47.72/47.86 apply zenon_H1a. apply refl_equal. % 47.72/47.86 apply zenon_H5fc. apply refl_equal. % 47.72/47.86 apply zenon_H5fc. apply refl_equal. % 47.72/47.86 apply (zenon_L28_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5f8); [ zenon_intro zenon_H5ff | zenon_intro zenon_H5fe ]. % 47.72/47.86 cut (((op (e4) (e4)) = (e3)) = ((op (op (e0) (e4)) (e4)) = (op (e0) (op (e4) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H5ff. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hc1. % 47.72/47.86 cut (((e3) = (op (e0) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hc2]. % 47.72/47.86 cut (((op (e4) (e4)) = (op (op (e0) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H600]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e4)) (e4)) = (op (op (e0) (e4)) (e4)))); [ zenon_intro zenon_H601 | zenon_intro zenon_H602 ]. % 47.72/47.86 cut (((op (op (e0) (e4)) (e4)) = (op (op (e0) (e4)) (e4))) = ((op (e4) (e4)) = (op (op (e0) (e4)) (e4)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H600. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H601. % 47.72/47.86 cut (((op (op (e0) (e4)) (e4)) = (op (op (e0) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H602]. % 47.72/47.86 cut (((op (op (e0) (e4)) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H603]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H476]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H476 zenon_H38). % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 apply zenon_H602. apply refl_equal. % 47.72/47.86 apply zenon_H602. apply refl_equal. % 47.72/47.86 apply (zenon_L29_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H5fe); [ zenon_intro zenon_H605 | zenon_intro zenon_H604 ]. % 47.72/47.86 cut (((op (e4) (e5)) = (e1)) = ((op (op (e0) (e4)) (e5)) = (op (e0) (op (e4) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H605. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hc9. % 47.72/47.86 cut (((e1) = (op (e0) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 47.72/47.86 cut (((op (e4) (e5)) = (op (op (e0) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H606]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e4)) (e5)) = (op (op (e0) (e4)) (e5)))); [ zenon_intro zenon_H607 | zenon_intro zenon_H608 ]. % 47.72/47.86 cut (((op (op (e0) (e4)) (e5)) = (op (op (e0) (e4)) (e5))) = ((op (e4) (e5)) = (op (op (e0) (e4)) (e5)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H606. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H607. % 47.72/47.86 cut (((op (op (e0) (e4)) (e5)) = (op (op (e0) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H608]. % 47.72/47.86 cut (((op (op (e0) (e4)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H609]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H476]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H476 zenon_H38). % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 apply zenon_H608. apply refl_equal. % 47.72/47.86 apply zenon_H608. apply refl_equal. % 47.72/47.86 apply (zenon_L30_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H604); [ zenon_intro zenon_H60b | zenon_intro zenon_H60a ]. % 47.72/47.86 cut (((op (e5) (e0)) = (e5)) = ((op (op (e0) (e5)) (e0)) = (op (e0) (op (e5) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H60b. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hd1. % 47.72/47.86 cut (((e5) = (op (e0) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hd2]. % 47.72/47.86 cut (((op (e5) (e0)) = (op (op (e0) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H60c]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e5)) (e0)) = (op (op (e0) (e5)) (e0)))); [ zenon_intro zenon_H60d | zenon_intro zenon_H60e ]. % 47.72/47.86 cut (((op (op (e0) (e5)) (e0)) = (op (op (e0) (e5)) (e0))) = ((op (e5) (e0)) = (op (op (e0) (e5)) (e0)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H60c. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H60d. % 47.72/47.86 cut (((op (op (e0) (e5)) (e0)) = (op (op (e0) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H60e]. % 47.72/47.86 cut (((op (op (e0) (e5)) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H60f]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.86 cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H481]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H481 zenon_H2f). % 47.72/47.86 apply zenon_H7. apply refl_equal. % 47.72/47.86 apply zenon_H60e. apply refl_equal. % 47.72/47.86 apply zenon_H60e. apply refl_equal. % 47.72/47.86 apply (zenon_L31_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H60a); [ zenon_intro zenon_H611 | zenon_intro zenon_H610 ]. % 47.72/47.86 cut (((op (e5) (e1)) = (e3)) = ((op (op (e0) (e5)) (e1)) = (op (e0) (op (e5) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H611. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hd9. % 47.72/47.86 cut (((e3) = (op (e0) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hda]. % 47.72/47.86 cut (((op (e5) (e1)) = (op (op (e0) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H612]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e5)) (e1)) = (op (op (e0) (e5)) (e1)))); [ zenon_intro zenon_H613 | zenon_intro zenon_H614 ]. % 47.72/47.86 cut (((op (op (e0) (e5)) (e1)) = (op (op (e0) (e5)) (e1))) = ((op (e5) (e1)) = (op (op (e0) (e5)) (e1)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H612. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H613. % 47.72/47.86 cut (((op (op (e0) (e5)) (e1)) = (op (op (e0) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H614]. % 47.72/47.86 cut (((op (op (e0) (e5)) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H615]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H481]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H481 zenon_H2f). % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H614. apply refl_equal. % 47.72/47.86 apply zenon_H614. apply refl_equal. % 47.72/47.86 apply (zenon_L32_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H610); [ zenon_intro zenon_H617 | zenon_intro zenon_H616 ]. % 47.72/47.86 cut (((op (e5) (e2)) = (e4)) = ((op (op (e0) (e5)) (e2)) = (op (e0) (op (e5) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H617. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_He1. % 47.72/47.86 cut (((e4) = (op (e0) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_He2]. % 47.72/47.86 cut (((op (e5) (e2)) = (op (op (e0) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H618]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e5)) (e2)) = (op (op (e0) (e5)) (e2)))); [ zenon_intro zenon_H619 | zenon_intro zenon_H61a ]. % 47.72/47.86 cut (((op (op (e0) (e5)) (e2)) = (op (op (e0) (e5)) (e2))) = ((op (e5) (e2)) = (op (op (e0) (e5)) (e2)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H618. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H619. % 47.72/47.86 cut (((op (op (e0) (e5)) (e2)) = (op (op (e0) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H61a]. % 47.72/47.86 cut (((op (op (e0) (e5)) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H61b]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.86 cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H481]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H481 zenon_H2f). % 47.72/47.86 apply zenon_H6. apply refl_equal. % 47.72/47.86 apply zenon_H61a. apply refl_equal. % 47.72/47.86 apply zenon_H61a. apply refl_equal. % 47.72/47.86 apply (zenon_L33_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H616); [ zenon_intro zenon_H61d | zenon_intro zenon_H61c ]. % 47.72/47.86 cut (((op (e5) (e3)) = (e1)) = ((op (op (e0) (e5)) (e3)) = (op (e0) (op (e5) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H61d. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_He9. % 47.72/47.86 cut (((e1) = (op (e0) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hea]. % 47.72/47.86 cut (((op (e5) (e3)) = (op (op (e0) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H61e]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e5)) (e3)) = (op (op (e0) (e5)) (e3)))); [ zenon_intro zenon_H61f | zenon_intro zenon_H620 ]. % 47.72/47.86 cut (((op (op (e0) (e5)) (e3)) = (op (op (e0) (e5)) (e3))) = ((op (e5) (e3)) = (op (op (e0) (e5)) (e3)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H61e. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H61f. % 47.72/47.86 cut (((op (op (e0) (e5)) (e3)) = (op (op (e0) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H620]. % 47.72/47.86 cut (((op (op (e0) (e5)) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H621]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.86 cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H481]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H481 zenon_H2f). % 47.72/47.86 apply zenon_H1a. apply refl_equal. % 47.72/47.86 apply zenon_H620. apply refl_equal. % 47.72/47.86 apply zenon_H620. apply refl_equal. % 47.72/47.86 apply (zenon_L34_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H61c); [ zenon_intro zenon_H623 | zenon_intro zenon_H622 ]. % 47.72/47.86 cut (((op (e5) (e4)) = (e2)) = ((op (op (e0) (e5)) (e4)) = (op (e0) (op (e5) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H623. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hf1. % 47.72/47.86 cut (((e2) = (op (e0) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hf2]. % 47.72/47.86 cut (((op (e5) (e4)) = (op (op (e0) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H624]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e5)) (e4)) = (op (op (e0) (e5)) (e4)))); [ zenon_intro zenon_H625 | zenon_intro zenon_H626 ]. % 47.72/47.86 cut (((op (op (e0) (e5)) (e4)) = (op (op (e0) (e5)) (e4))) = ((op (e5) (e4)) = (op (op (e0) (e5)) (e4)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H624. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H625. % 47.72/47.86 cut (((op (op (e0) (e5)) (e4)) = (op (op (e0) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H626]. % 47.72/47.86 cut (((op (op (e0) (e5)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H627]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H481]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H481 zenon_H2f). % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 apply zenon_H626. apply refl_equal. % 47.72/47.86 apply zenon_H626. apply refl_equal. % 47.72/47.86 apply (zenon_L35_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H622); [ zenon_intro zenon_H629 | zenon_intro zenon_H628 ]. % 47.72/47.86 cut (((op (e5) (e5)) = (e0)) = ((op (op (e0) (e5)) (e5)) = (op (e0) (op (e5) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H629. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_Hf9. % 47.72/47.86 cut (((e0) = (op (e0) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hfa]. % 47.72/47.86 cut (((op (e5) (e5)) = (op (op (e0) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H62a]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e0) (e5)) (e5)) = (op (op (e0) (e5)) (e5)))); [ zenon_intro zenon_H62b | zenon_intro zenon_H62c ]. % 47.72/47.86 cut (((op (op (e0) (e5)) (e5)) = (op (op (e0) (e5)) (e5))) = ((op (e5) (e5)) = (op (op (e0) (e5)) (e5)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H62a. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H62b. % 47.72/47.86 cut (((op (op (e0) (e5)) (e5)) = (op (op (e0) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H62c]. % 47.72/47.86 cut (((op (op (e0) (e5)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H62d]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H481]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H481 zenon_H2f). % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 apply zenon_H62c. apply refl_equal. % 47.72/47.86 apply zenon_H62c. apply refl_equal. % 47.72/47.86 apply (zenon_L36_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H628); [ zenon_intro zenon_H62f | zenon_intro zenon_H62e ]. % 47.72/47.86 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H56a]. % 47.72/47.86 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H10 zenon_H9). % 47.72/47.86 apply zenon_H56a. apply sym_equal. exact zenon_H11. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H62e); [ zenon_intro zenon_H631 | zenon_intro zenon_H630 ]. % 47.72/47.86 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H56d]. % 47.72/47.86 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H10 zenon_H9). % 47.72/47.86 apply zenon_H56d. apply sym_equal. exact zenon_H8. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H630); [ zenon_intro zenon_H633 | zenon_intro zenon_H632 ]. % 47.72/47.86 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H570]. % 47.72/47.86 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H10 zenon_H9). % 47.72/47.86 apply zenon_H570. apply sym_equal. exact zenon_H24. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H632); [ zenon_intro zenon_H635 | zenon_intro zenon_H634 ]. % 47.72/47.86 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H573]. % 47.72/47.86 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H10 zenon_H9). % 47.72/47.86 apply zenon_H573. apply sym_equal. exact zenon_H1b. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H634); [ zenon_intro zenon_H637 | zenon_intro zenon_H636 ]. % 47.72/47.86 cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H576]. % 47.72/47.86 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H10 zenon_H9). % 47.72/47.86 apply zenon_H576. apply sym_equal. exact zenon_H38. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H636); [ zenon_intro zenon_H639 | zenon_intro zenon_H638 ]. % 47.72/47.86 cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H579]. % 47.72/47.86 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H10 zenon_H9). % 47.72/47.86 apply zenon_H579. apply sym_equal. exact zenon_H2f. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H638); [ zenon_intro zenon_H63b | zenon_intro zenon_H63a ]. % 47.72/47.86 cut (((op (e0) (e0)) = (e0)) = ((op (op (e1) (e1)) (e0)) = (op (e1) (op (e1) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H63b. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H11. % 47.72/47.86 cut (((e0) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H63c]. % 47.72/47.86 cut (((op (e0) (e0)) = (op (op (e1) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H63d]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e1)) (e0)) = (op (op (e1) (e1)) (e0)))); [ zenon_intro zenon_H63e | zenon_intro zenon_H63f ]. % 47.72/47.86 cut (((op (op (e1) (e1)) (e0)) = (op (op (e1) (e1)) (e0))) = ((op (e0) (e0)) = (op (op (e1) (e1)) (e0)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H63d. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H63e. % 47.72/47.86 cut (((op (op (e1) (e1)) (e0)) = (op (op (e1) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H63f]. % 47.72/47.86 cut (((op (op (e1) (e1)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H640]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.86 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H19 zenon_H12). % 47.72/47.86 apply zenon_H7. apply refl_equal. % 47.72/47.86 apply zenon_H63f. apply refl_equal. % 47.72/47.86 apply zenon_H63f. apply refl_equal. % 47.72/47.86 elim (classic ((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [ zenon_intro zenon_H641 | zenon_intro zenon_H642 ]. % 47.72/47.86 cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0)))) = ((e0) = (op (e1) (op (e1) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H63c. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H641. % 47.72/47.86 cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H642]. % 47.72/47.86 cut (((op (e1) (op (e1) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H643]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e1)) = (e0)) = ((op (e1) (op (e1) (e0))) = (e0))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H643. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H12. % 47.72/47.86 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.86 cut (((op (e1) (e1)) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H644]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [ zenon_intro zenon_H641 | zenon_intro zenon_H642 ]. % 47.72/47.86 cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0)))) = ((op (e1) (e1)) = (op (e1) (op (e1) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H644. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H641. % 47.72/47.86 cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H642]. % 47.72/47.86 cut (((op (e1) (op (e1) (e0))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H645]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 exact (zenon_H10 zenon_H9). % 47.72/47.86 apply zenon_H642. apply refl_equal. % 47.72/47.86 apply zenon_H642. apply refl_equal. % 47.72/47.86 apply zenon_H7. apply refl_equal. % 47.72/47.86 apply zenon_H642. apply refl_equal. % 47.72/47.86 apply zenon_H642. apply refl_equal. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H63a); [ zenon_intro zenon_H647 | zenon_intro zenon_H646 ]. % 47.72/47.86 cut (((op (e0) (e1)) = (e1)) = ((op (op (e1) (e1)) (e1)) = (op (e1) (op (e1) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H647. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H8. % 47.72/47.86 cut (((e1) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H648]. % 47.72/47.86 cut (((op (e0) (e1)) = (op (op (e1) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H649]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e1)) (e1)) = (op (op (e1) (e1)) (e1)))); [ zenon_intro zenon_H64a | zenon_intro zenon_H64b ]. % 47.72/47.86 cut (((op (op (e1) (e1)) (e1)) = (op (op (e1) (e1)) (e1))) = ((op (e0) (e1)) = (op (op (e1) (e1)) (e1)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H649. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H64a. % 47.72/47.86 cut (((op (op (e1) (e1)) (e1)) = (op (op (e1) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H64b]. % 47.72/47.86 cut (((op (op (e1) (e1)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H64c]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H19 zenon_H12). % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H64b. apply refl_equal. % 47.72/47.86 apply zenon_H64b. apply refl_equal. % 47.72/47.86 elim (classic ((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [ zenon_intro zenon_H64d | zenon_intro zenon_H64e ]. % 47.72/47.86 cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1)))) = ((e1) = (op (e1) (op (e1) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H648. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H64d. % 47.72/47.86 cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H64e]. % 47.72/47.86 cut (((op (e1) (op (e1) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H64f]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e1) (e1))) = (e1))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H64f. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H9. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 cut (((op (e1) (e0)) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H650]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [ zenon_intro zenon_H64d | zenon_intro zenon_H64e ]. % 47.72/47.86 cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1)))) = ((op (e1) (e0)) = (op (e1) (op (e1) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H650. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H64d. % 47.72/47.86 cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H64e]. % 47.72/47.86 cut (((op (e1) (op (e1) (e1))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H651]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 exact (zenon_H19 zenon_H12). % 47.72/47.86 apply zenon_H64e. apply refl_equal. % 47.72/47.86 apply zenon_H64e. apply refl_equal. % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H64e. apply refl_equal. % 47.72/47.86 apply zenon_H64e. apply refl_equal. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H646); [ zenon_intro zenon_H653 | zenon_intro zenon_H652 ]. % 47.72/47.86 cut (((op (e0) (e2)) = (e2)) = ((op (op (e1) (e1)) (e2)) = (op (e1) (op (e1) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H653. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H24. % 47.72/47.86 cut (((e2) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H654]. % 47.72/47.86 cut (((op (e0) (e2)) = (op (op (e1) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H655]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e1)) (e2)) = (op (op (e1) (e1)) (e2)))); [ zenon_intro zenon_H656 | zenon_intro zenon_H657 ]. % 47.72/47.86 cut (((op (op (e1) (e1)) (e2)) = (op (op (e1) (e1)) (e2))) = ((op (e0) (e2)) = (op (op (e1) (e1)) (e2)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H655. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H656. % 47.72/47.86 cut (((op (op (e1) (e1)) (e2)) = (op (op (e1) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H657]. % 47.72/47.86 cut (((op (op (e1) (e1)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H658]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.86 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H19 zenon_H12). % 47.72/47.86 apply zenon_H6. apply refl_equal. % 47.72/47.86 apply zenon_H657. apply refl_equal. % 47.72/47.86 apply zenon_H657. apply refl_equal. % 47.72/47.86 elim (classic ((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [ zenon_intro zenon_H659 | zenon_intro zenon_H65a ]. % 47.72/47.86 cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2)))) = ((e2) = (op (e1) (op (e1) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H654. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H659. % 47.72/47.86 cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H65a]. % 47.72/47.86 cut (((op (e1) (op (e1) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H65b]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e3)) = (e2)) = ((op (e1) (op (e1) (e2))) = (e2))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H65b. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H25. % 47.72/47.86 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.86 cut (((op (e1) (e3)) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H65c]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [ zenon_intro zenon_H659 | zenon_intro zenon_H65a ]. % 47.72/47.86 cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2)))) = ((op (e1) (e3)) = (op (e1) (op (e1) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H65c. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H659. % 47.72/47.86 cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H65a]. % 47.72/47.86 cut (((op (e1) (op (e1) (e2))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H65d]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 exact (zenon_H23 zenon_H1c). % 47.72/47.86 apply zenon_H65a. apply refl_equal. % 47.72/47.86 apply zenon_H65a. apply refl_equal. % 47.72/47.86 apply zenon_H6. apply refl_equal. % 47.72/47.86 apply zenon_H65a. apply refl_equal. % 47.72/47.86 apply zenon_H65a. apply refl_equal. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H652); [ zenon_intro zenon_H65f | zenon_intro zenon_H65e ]. % 47.72/47.86 cut (((op (e0) (e3)) = (e3)) = ((op (op (e1) (e1)) (e3)) = (op (e1) (op (e1) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H65f. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H1b. % 47.72/47.86 cut (((e3) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H660]. % 47.72/47.86 cut (((op (e0) (e3)) = (op (op (e1) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H661]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e1)) (e3)) = (op (op (e1) (e1)) (e3)))); [ zenon_intro zenon_H662 | zenon_intro zenon_H663 ]. % 47.72/47.86 cut (((op (op (e1) (e1)) (e3)) = (op (op (e1) (e1)) (e3))) = ((op (e0) (e3)) = (op (op (e1) (e1)) (e3)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H661. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H662. % 47.72/47.86 cut (((op (op (e1) (e1)) (e3)) = (op (op (e1) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H663]. % 47.72/47.86 cut (((op (op (e1) (e1)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H664]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.86 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H19 zenon_H12). % 47.72/47.86 apply zenon_H1a. apply refl_equal. % 47.72/47.86 apply zenon_H663. apply refl_equal. % 47.72/47.86 apply zenon_H663. apply refl_equal. % 47.72/47.86 elim (classic ((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [ zenon_intro zenon_H665 | zenon_intro zenon_H666 ]. % 47.72/47.86 cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3)))) = ((e3) = (op (e1) (op (e1) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H660. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H665. % 47.72/47.86 cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H666]. % 47.72/47.86 cut (((op (e1) (op (e1) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H667]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e2)) = (e3)) = ((op (e1) (op (e1) (e3))) = (e3))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H667. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H1c. % 47.72/47.86 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.86 cut (((op (e1) (e2)) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H668]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [ zenon_intro zenon_H665 | zenon_intro zenon_H666 ]. % 47.72/47.86 cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3)))) = ((op (e1) (e2)) = (op (e1) (op (e1) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H668. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H665. % 47.72/47.86 cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H666]. % 47.72/47.86 cut (((op (e1) (op (e1) (e3))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H669]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 exact (zenon_H2c zenon_H25). % 47.72/47.86 apply zenon_H666. apply refl_equal. % 47.72/47.86 apply zenon_H666. apply refl_equal. % 47.72/47.86 apply zenon_H1a. apply refl_equal. % 47.72/47.86 apply zenon_H666. apply refl_equal. % 47.72/47.86 apply zenon_H666. apply refl_equal. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H65e); [ zenon_intro zenon_H66b | zenon_intro zenon_H66a ]. % 47.72/47.86 cut (((op (e0) (e4)) = (e4)) = ((op (op (e1) (e1)) (e4)) = (op (e1) (op (e1) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H66b. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H38. % 47.72/47.86 cut (((e4) = (op (e1) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H66c]. % 47.72/47.86 cut (((op (e0) (e4)) = (op (op (e1) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H66d]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e1)) (e4)) = (op (op (e1) (e1)) (e4)))); [ zenon_intro zenon_H66e | zenon_intro zenon_H66f ]. % 47.72/47.86 cut (((op (op (e1) (e1)) (e4)) = (op (op (e1) (e1)) (e4))) = ((op (e0) (e4)) = (op (op (e1) (e1)) (e4)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H66d. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H66e. % 47.72/47.86 cut (((op (op (e1) (e1)) (e4)) = (op (op (e1) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H66f]. % 47.72/47.86 cut (((op (op (e1) (e1)) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H670]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H19 zenon_H12). % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 apply zenon_H66f. apply refl_equal. % 47.72/47.86 apply zenon_H66f. apply refl_equal. % 47.72/47.86 elim (classic ((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4))))); [ zenon_intro zenon_H671 | zenon_intro zenon_H672 ]. % 47.72/47.86 cut (((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4)))) = ((e4) = (op (e1) (op (e1) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H66c. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H671. % 47.72/47.86 cut (((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H672]. % 47.72/47.86 cut (((op (e1) (op (e1) (e4))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H673]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e5)) = (e4)) = ((op (e1) (op (e1) (e4))) = (e4))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H673. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H39. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 cut (((op (e1) (e5)) = (op (e1) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H674]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4))))); [ zenon_intro zenon_H671 | zenon_intro zenon_H672 ]. % 47.72/47.86 cut (((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4)))) = ((op (e1) (e5)) = (op (e1) (op (e1) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H674. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H671. % 47.72/47.86 cut (((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H672]. % 47.72/47.86 cut (((op (e1) (op (e1) (e4))) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H675]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 exact (zenon_H37 zenon_H30). % 47.72/47.86 apply zenon_H672. apply refl_equal. % 47.72/47.86 apply zenon_H672. apply refl_equal. % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 apply zenon_H672. apply refl_equal. % 47.72/47.86 apply zenon_H672. apply refl_equal. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H66a); [ zenon_intro zenon_H677 | zenon_intro zenon_H676 ]. % 47.72/47.86 cut (((op (e0) (e5)) = (e5)) = ((op (op (e1) (e1)) (e5)) = (op (e1) (op (e1) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H677. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H2f. % 47.72/47.86 cut (((e5) = (op (e1) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H678]. % 47.72/47.86 cut (((op (e0) (e5)) = (op (op (e1) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H679]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e1)) (e5)) = (op (op (e1) (e1)) (e5)))); [ zenon_intro zenon_H67a | zenon_intro zenon_H67b ]. % 47.72/47.86 cut (((op (op (e1) (e1)) (e5)) = (op (op (e1) (e1)) (e5))) = ((op (e0) (e5)) = (op (op (e1) (e1)) (e5)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H679. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H67a. % 47.72/47.86 cut (((op (op (e1) (e1)) (e5)) = (op (op (e1) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H67b]. % 47.72/47.86 cut (((op (op (e1) (e1)) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H67c]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H19 zenon_H12). % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 apply zenon_H67b. apply refl_equal. % 47.72/47.86 apply zenon_H67b. apply refl_equal. % 47.72/47.86 elim (classic ((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5))))); [ zenon_intro zenon_H67d | zenon_intro zenon_H67e ]. % 47.72/47.86 cut (((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5)))) = ((e5) = (op (e1) (op (e1) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H678. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H67d. % 47.72/47.86 cut (((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H67e]. % 47.72/47.86 cut (((op (e1) (op (e1) (e5))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H67f]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e4)) = (e5)) = ((op (e1) (op (e1) (e5))) = (e5))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H67f. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H30. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 cut (((op (e1) (e4)) = (op (e1) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H680]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5))))); [ zenon_intro zenon_H67d | zenon_intro zenon_H67e ]. % 47.72/47.86 cut (((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5)))) = ((op (e1) (e4)) = (op (e1) (op (e1) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H680. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H67d. % 47.72/47.86 cut (((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H67e]. % 47.72/47.86 cut (((op (e1) (op (e1) (e5))) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H681]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((op (e1) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 congruence. % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 exact (zenon_H40 zenon_H39). % 47.72/47.86 apply zenon_H67e. apply refl_equal. % 47.72/47.86 apply zenon_H67e. apply refl_equal. % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 apply zenon_H67e. apply refl_equal. % 47.72/47.86 apply zenon_H67e. apply refl_equal. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H676); [ zenon_intro zenon_H683 | zenon_intro zenon_H682 ]. % 47.72/47.86 cut (((op (e3) (e0)) = (e3)) = ((op (op (e1) (e2)) (e0)) = (op (e1) (op (e2) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H683. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H71. % 47.72/47.86 cut (((e3) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H101]. % 47.72/47.86 cut (((op (e3) (e0)) = (op (op (e1) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H684]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e2)) (e0)) = (op (op (e1) (e2)) (e0)))); [ zenon_intro zenon_H685 | zenon_intro zenon_H686 ]. % 47.72/47.86 cut (((op (op (e1) (e2)) (e0)) = (op (op (e1) (e2)) (e0))) = ((op (e3) (e0)) = (op (op (e1) (e2)) (e0)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H684. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H685. % 47.72/47.86 cut (((op (op (e1) (e2)) (e0)) = (op (op (e1) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H686]. % 47.72/47.86 cut (((op (op (e1) (e2)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H687]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.86 cut (((op (e1) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H23 zenon_H1c). % 47.72/47.86 apply zenon_H7. apply refl_equal. % 47.72/47.86 apply zenon_H686. apply refl_equal. % 47.72/47.86 apply zenon_H686. apply refl_equal. % 47.72/47.86 apply (zenon_L37_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H682); [ zenon_intro zenon_H689 | zenon_intro zenon_H688 ]. % 47.72/47.86 cut (((op (e3) (e1)) = (e5)) = ((op (op (e1) (e2)) (e1)) = (op (e1) (op (e2) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H689. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H79. % 47.72/47.86 cut (((e5) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H107]. % 47.72/47.86 cut (((op (e3) (e1)) = (op (op (e1) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H68a]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e2)) (e1)) = (op (op (e1) (e2)) (e1)))); [ zenon_intro zenon_H68b | zenon_intro zenon_H68c ]. % 47.72/47.86 cut (((op (op (e1) (e2)) (e1)) = (op (op (e1) (e2)) (e1))) = ((op (e3) (e1)) = (op (op (e1) (e2)) (e1)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H68a. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H68b. % 47.72/47.86 cut (((op (op (e1) (e2)) (e1)) = (op (op (e1) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H68c]. % 47.72/47.86 cut (((op (op (e1) (e2)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H68d]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 cut (((op (e1) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H23 zenon_H1c). % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H68c. apply refl_equal. % 47.72/47.86 apply zenon_H68c. apply refl_equal. % 47.72/47.86 apply (zenon_L38_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H688); [ zenon_intro zenon_H68f | zenon_intro zenon_H68e ]. % 47.72/47.86 cut (((op (e3) (e2)) = (e1)) = ((op (op (e1) (e2)) (e2)) = (op (e1) (op (e2) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H68f. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H81. % 47.72/47.86 cut (((e1) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H10d]. % 47.72/47.86 cut (((op (e3) (e2)) = (op (op (e1) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H690]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e2)) (e2)) = (op (op (e1) (e2)) (e2)))); [ zenon_intro zenon_H691 | zenon_intro zenon_H692 ]. % 47.72/47.86 cut (((op (op (e1) (e2)) (e2)) = (op (op (e1) (e2)) (e2))) = ((op (e3) (e2)) = (op (op (e1) (e2)) (e2)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H690. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H691. % 47.72/47.86 cut (((op (op (e1) (e2)) (e2)) = (op (op (e1) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H692]. % 47.72/47.86 cut (((op (op (e1) (e2)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H693]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.86 cut (((op (e1) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H23 zenon_H1c). % 47.72/47.86 apply zenon_H6. apply refl_equal. % 47.72/47.86 apply zenon_H692. apply refl_equal. % 47.72/47.86 apply zenon_H692. apply refl_equal. % 47.72/47.86 apply (zenon_L39_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H68e); [ zenon_intro zenon_H695 | zenon_intro zenon_H694 ]. % 47.72/47.86 cut (((op (e3) (e3)) = (e4)) = ((op (op (e1) (e2)) (e3)) = (op (e1) (op (e2) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H695. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H89. % 47.72/47.86 cut (((e4) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H113]. % 47.72/47.86 cut (((op (e3) (e3)) = (op (op (e1) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H696]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e2)) (e3)) = (op (op (e1) (e2)) (e3)))); [ zenon_intro zenon_H697 | zenon_intro zenon_H698 ]. % 47.72/47.86 cut (((op (op (e1) (e2)) (e3)) = (op (op (e1) (e2)) (e3))) = ((op (e3) (e3)) = (op (op (e1) (e2)) (e3)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H696. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H697. % 47.72/47.86 cut (((op (op (e1) (e2)) (e3)) = (op (op (e1) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H698]. % 47.72/47.86 cut (((op (op (e1) (e2)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H699]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.86 cut (((op (e1) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H23 zenon_H1c). % 47.72/47.86 apply zenon_H1a. apply refl_equal. % 47.72/47.86 apply zenon_H698. apply refl_equal. % 47.72/47.86 apply zenon_H698. apply refl_equal. % 47.72/47.86 apply (zenon_L40_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H694); [ zenon_intro zenon_H69b | zenon_intro zenon_H69a ]. % 47.72/47.86 cut (((op (e3) (e4)) = (e0)) = ((op (op (e1) (e2)) (e4)) = (op (e1) (op (e2) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H69b. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H91. % 47.72/47.86 cut (((e0) = (op (e1) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H119]. % 47.72/47.86 cut (((op (e3) (e4)) = (op (op (e1) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H69c]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e2)) (e4)) = (op (op (e1) (e2)) (e4)))); [ zenon_intro zenon_H69d | zenon_intro zenon_H69e ]. % 47.72/47.86 cut (((op (op (e1) (e2)) (e4)) = (op (op (e1) (e2)) (e4))) = ((op (e3) (e4)) = (op (op (e1) (e2)) (e4)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H69c. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H69d. % 47.72/47.86 cut (((op (op (e1) (e2)) (e4)) = (op (op (e1) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H69e]. % 47.72/47.86 cut (((op (op (e1) (e2)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H69f]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 cut (((op (e1) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H23 zenon_H1c). % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 apply zenon_H69e. apply refl_equal. % 47.72/47.86 apply zenon_H69e. apply refl_equal. % 47.72/47.86 apply (zenon_L41_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H69a); [ zenon_intro zenon_H6a1 | zenon_intro zenon_H6a0 ]. % 47.72/47.86 cut (((op (e3) (e5)) = (e2)) = ((op (op (e1) (e2)) (e5)) = (op (e1) (op (e2) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H6a1. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H99. % 47.72/47.86 cut (((e2) = (op (e1) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H11f]. % 47.72/47.86 cut (((op (e3) (e5)) = (op (op (e1) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6a2]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e2)) (e5)) = (op (op (e1) (e2)) (e5)))); [ zenon_intro zenon_H6a3 | zenon_intro zenon_H6a4 ]. % 47.72/47.86 cut (((op (op (e1) (e2)) (e5)) = (op (op (e1) (e2)) (e5))) = ((op (e3) (e5)) = (op (op (e1) (e2)) (e5)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H6a2. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H6a3. % 47.72/47.86 cut (((op (op (e1) (e2)) (e5)) = (op (op (e1) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6a4]. % 47.72/47.86 cut (((op (op (e1) (e2)) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6a5]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.86 cut (((op (e1) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H23 zenon_H1c). % 47.72/47.86 apply zenon_H2e. apply refl_equal. % 47.72/47.86 apply zenon_H6a4. apply refl_equal. % 47.72/47.86 apply zenon_H6a4. apply refl_equal. % 47.72/47.86 apply (zenon_L42_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H6a0); [ zenon_intro zenon_H6a7 | zenon_intro zenon_H6a6 ]. % 47.72/47.86 cut (((op (e2) (e0)) = (e2)) = ((op (op (e1) (e3)) (e0)) = (op (e1) (op (e3) (e0))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H6a7. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H41. % 47.72/47.86 cut (((e2) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H125]. % 47.72/47.86 cut (((op (e2) (e0)) = (op (op (e1) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6a8]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e3)) (e0)) = (op (op (e1) (e3)) (e0)))); [ zenon_intro zenon_H6a9 | zenon_intro zenon_H6aa ]. % 47.72/47.86 cut (((op (op (e1) (e3)) (e0)) = (op (op (e1) (e3)) (e0))) = ((op (e2) (e0)) = (op (op (e1) (e3)) (e0)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H6a8. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H6a9. % 47.72/47.86 cut (((op (op (e1) (e3)) (e0)) = (op (op (e1) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6aa]. % 47.72/47.86 cut (((op (op (e1) (e3)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6ab]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.86 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H2c zenon_H25). % 47.72/47.86 apply zenon_H7. apply refl_equal. % 47.72/47.86 apply zenon_H6aa. apply refl_equal. % 47.72/47.86 apply zenon_H6aa. apply refl_equal. % 47.72/47.86 apply (zenon_L43_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H6a6); [ zenon_intro zenon_H6ad | zenon_intro zenon_H6ac ]. % 47.72/47.86 cut (((op (e2) (e1)) = (e4)) = ((op (op (e1) (e3)) (e1)) = (op (e1) (op (e3) (e1))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H6ad. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H49. % 47.72/47.86 cut (((e4) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H12b]. % 47.72/47.86 cut (((op (e2) (e1)) = (op (op (e1) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6ae]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e3)) (e1)) = (op (op (e1) (e3)) (e1)))); [ zenon_intro zenon_H6af | zenon_intro zenon_H6b0 ]. % 47.72/47.86 cut (((op (op (e1) (e3)) (e1)) = (op (op (e1) (e3)) (e1))) = ((op (e2) (e1)) = (op (op (e1) (e3)) (e1)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H6ae. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H6af. % 47.72/47.86 cut (((op (op (e1) (e3)) (e1)) = (op (op (e1) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6b0]. % 47.72/47.86 cut (((op (op (e1) (e3)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6b1]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.86 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H2c zenon_H25). % 47.72/47.86 apply zenon_H5. apply refl_equal. % 47.72/47.86 apply zenon_H6b0. apply refl_equal. % 47.72/47.86 apply zenon_H6b0. apply refl_equal. % 47.72/47.86 apply (zenon_L44_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H6ac); [ zenon_intro zenon_H6b3 | zenon_intro zenon_H6b2 ]. % 47.72/47.86 cut (((op (e2) (e2)) = (e0)) = ((op (op (e1) (e3)) (e2)) = (op (e1) (op (e3) (e2))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H6b3. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H51. % 47.72/47.86 cut (((e0) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H131]. % 47.72/47.86 cut (((op (e2) (e2)) = (op (op (e1) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6b4]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e3)) (e2)) = (op (op (e1) (e3)) (e2)))); [ zenon_intro zenon_H6b5 | zenon_intro zenon_H6b6 ]. % 47.72/47.86 cut (((op (op (e1) (e3)) (e2)) = (op (op (e1) (e3)) (e2))) = ((op (e2) (e2)) = (op (op (e1) (e3)) (e2)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H6b4. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H6b5. % 47.72/47.86 cut (((op (op (e1) (e3)) (e2)) = (op (op (e1) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6b6]. % 47.72/47.86 cut (((op (op (e1) (e3)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6b7]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.86 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H2c zenon_H25). % 47.72/47.86 apply zenon_H6. apply refl_equal. % 47.72/47.86 apply zenon_H6b6. apply refl_equal. % 47.72/47.86 apply zenon_H6b6. apply refl_equal. % 47.72/47.86 apply (zenon_L45_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H6b2); [ zenon_intro zenon_H6b9 | zenon_intro zenon_H6b8 ]. % 47.72/47.86 cut (((op (e2) (e3)) = (e5)) = ((op (op (e1) (e3)) (e3)) = (op (e1) (op (e3) (e3))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H6b9. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H59. % 47.72/47.86 cut (((e5) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H137]. % 47.72/47.86 cut (((op (e2) (e3)) = (op (op (e1) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6ba]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e3)) (e3)) = (op (op (e1) (e3)) (e3)))); [ zenon_intro zenon_H6bb | zenon_intro zenon_H6bc ]. % 47.72/47.86 cut (((op (op (e1) (e3)) (e3)) = (op (op (e1) (e3)) (e3))) = ((op (e2) (e3)) = (op (op (e1) (e3)) (e3)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H6ba. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H6bb. % 47.72/47.86 cut (((op (op (e1) (e3)) (e3)) = (op (op (e1) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6bc]. % 47.72/47.86 cut (((op (op (e1) (e3)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6bd]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.86 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H2c zenon_H25). % 47.72/47.86 apply zenon_H1a. apply refl_equal. % 47.72/47.86 apply zenon_H6bc. apply refl_equal. % 47.72/47.86 apply zenon_H6bc. apply refl_equal. % 47.72/47.86 apply (zenon_L46_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H6b8); [ zenon_intro zenon_H6bf | zenon_intro zenon_H6be ]. % 47.72/47.86 cut (((op (e2) (e4)) = (e1)) = ((op (op (e1) (e3)) (e4)) = (op (e1) (op (e3) (e4))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H6bf. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H61. % 47.72/47.86 cut (((e1) = (op (e1) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H13d]. % 47.72/47.86 cut (((op (e2) (e4)) = (op (op (e1) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6c0]. % 47.72/47.86 congruence. % 47.72/47.86 elim (classic ((op (op (e1) (e3)) (e4)) = (op (op (e1) (e3)) (e4)))); [ zenon_intro zenon_H6c1 | zenon_intro zenon_H6c2 ]. % 47.72/47.86 cut (((op (op (e1) (e3)) (e4)) = (op (op (e1) (e3)) (e4))) = ((op (e2) (e4)) = (op (op (e1) (e3)) (e4)))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H6c0. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H6c1. % 47.72/47.86 cut (((op (op (e1) (e3)) (e4)) = (op (op (e1) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6c2]. % 47.72/47.86 cut (((op (op (e1) (e3)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6c3]. % 47.72/47.86 congruence. % 47.72/47.86 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.86 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 47.72/47.86 congruence. % 47.72/47.86 exact (zenon_H2c zenon_H25). % 47.72/47.86 apply zenon_H2d. apply refl_equal. % 47.72/47.86 apply zenon_H6c2. apply refl_equal. % 47.72/47.86 apply zenon_H6c2. apply refl_equal. % 47.72/47.86 apply (zenon_L47_); trivial. % 47.72/47.86 apply (zenon_notand_s _ _ zenon_H6be); [ zenon_intro zenon_H6c5 | zenon_intro zenon_H6c4 ]. % 47.72/47.86 cut (((op (e2) (e5)) = (e3)) = ((op (op (e1) (e3)) (e5)) = (op (e1) (op (e3) (e5))))). % 47.72/47.86 intro zenon_D_pnotp. % 47.72/47.86 apply zenon_H6c5. % 47.72/47.86 rewrite <- zenon_D_pnotp. % 47.72/47.86 exact zenon_H69. % 47.72/47.86 cut (((e3) = (op (e1) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H143]. % 47.72/47.87 cut (((op (e2) (e5)) = (op (op (e1) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6c6]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e1) (e3)) (e5)) = (op (op (e1) (e3)) (e5)))); [ zenon_intro zenon_H6c7 | zenon_intro zenon_H6c8 ]. % 47.72/47.87 cut (((op (op (e1) (e3)) (e5)) = (op (op (e1) (e3)) (e5))) = ((op (e2) (e5)) = (op (op (e1) (e3)) (e5)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6c6. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H6c7. % 47.72/47.87 cut (((op (op (e1) (e3)) (e5)) = (op (op (e1) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6c8]. % 47.72/47.87 cut (((op (op (e1) (e3)) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6c9]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H2c zenon_H25). % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H6c8. apply refl_equal. % 47.72/47.87 apply zenon_H6c8. apply refl_equal. % 47.72/47.87 apply (zenon_L48_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H6c4); [ zenon_intro zenon_H6cb | zenon_intro zenon_H6ca ]. % 47.72/47.87 cut (((op (e5) (e0)) = (e5)) = ((op (op (e1) (e4)) (e0)) = (op (e1) (op (e4) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6cb. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hd1. % 47.72/47.87 cut (((e5) = (op (e1) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H149]. % 47.72/47.87 cut (((op (e5) (e0)) = (op (op (e1) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6cc]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e1) (e4)) (e0)) = (op (op (e1) (e4)) (e0)))); [ zenon_intro zenon_H6cd | zenon_intro zenon_H6ce ]. % 47.72/47.87 cut (((op (op (e1) (e4)) (e0)) = (op (op (e1) (e4)) (e0))) = ((op (e5) (e0)) = (op (op (e1) (e4)) (e0)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6cc. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H6cd. % 47.72/47.87 cut (((op (op (e1) (e4)) (e0)) = (op (op (e1) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6ce]. % 47.72/47.87 cut (((op (op (e1) (e4)) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6cf]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e1) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H37 zenon_H30). % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H6ce. apply refl_equal. % 47.72/47.87 apply zenon_H6ce. apply refl_equal. % 47.72/47.87 apply (zenon_L49_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H6ca); [ zenon_intro zenon_H6d1 | zenon_intro zenon_H6d0 ]. % 47.72/47.87 cut (((op (e5) (e1)) = (e3)) = ((op (op (e1) (e4)) (e1)) = (op (e1) (op (e4) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6d1. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hd9. % 47.72/47.87 cut (((e3) = (op (e1) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H14f]. % 47.72/47.87 cut (((op (e5) (e1)) = (op (op (e1) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6d2]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e1) (e4)) (e1)) = (op (op (e1) (e4)) (e1)))); [ zenon_intro zenon_H6d3 | zenon_intro zenon_H6d4 ]. % 47.72/47.87 cut (((op (op (e1) (e4)) (e1)) = (op (op (e1) (e4)) (e1))) = ((op (e5) (e1)) = (op (op (e1) (e4)) (e1)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6d2. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H6d3. % 47.72/47.87 cut (((op (op (e1) (e4)) (e1)) = (op (op (e1) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6d4]. % 47.72/47.87 cut (((op (op (e1) (e4)) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6d5]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e1) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H37 zenon_H30). % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H6d4. apply refl_equal. % 47.72/47.87 apply zenon_H6d4. apply refl_equal. % 47.72/47.87 apply (zenon_L50_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H6d0); [ zenon_intro zenon_H6d7 | zenon_intro zenon_H6d6 ]. % 47.72/47.87 cut (((op (e5) (e2)) = (e4)) = ((op (op (e1) (e4)) (e2)) = (op (e1) (op (e4) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6d7. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_He1. % 47.72/47.87 cut (((e4) = (op (e1) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H155]. % 47.72/47.87 cut (((op (e5) (e2)) = (op (op (e1) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6d8]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e1) (e4)) (e2)) = (op (op (e1) (e4)) (e2)))); [ zenon_intro zenon_H6d9 | zenon_intro zenon_H6da ]. % 47.72/47.87 cut (((op (op (e1) (e4)) (e2)) = (op (op (e1) (e4)) (e2))) = ((op (e5) (e2)) = (op (op (e1) (e4)) (e2)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6d8. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H6d9. % 47.72/47.87 cut (((op (op (e1) (e4)) (e2)) = (op (op (e1) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6da]. % 47.72/47.87 cut (((op (op (e1) (e4)) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6db]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e1) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H37 zenon_H30). % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H6da. apply refl_equal. % 47.72/47.87 apply zenon_H6da. apply refl_equal. % 47.72/47.87 apply (zenon_L51_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H6d6); [ zenon_intro zenon_H6dd | zenon_intro zenon_H6dc ]. % 47.72/47.87 cut (((op (e5) (e3)) = (e1)) = ((op (op (e1) (e4)) (e3)) = (op (e1) (op (e4) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6dd. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_He9. % 47.72/47.87 cut (((e1) = (op (e1) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H15b]. % 47.72/47.87 cut (((op (e5) (e3)) = (op (op (e1) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6de]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e1) (e4)) (e3)) = (op (op (e1) (e4)) (e3)))); [ zenon_intro zenon_H6df | zenon_intro zenon_H6e0 ]. % 47.72/47.87 cut (((op (op (e1) (e4)) (e3)) = (op (op (e1) (e4)) (e3))) = ((op (e5) (e3)) = (op (op (e1) (e4)) (e3)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6de. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H6df. % 47.72/47.87 cut (((op (op (e1) (e4)) (e3)) = (op (op (e1) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6e0]. % 47.72/47.87 cut (((op (op (e1) (e4)) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6e1]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e1) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H37 zenon_H30). % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H6e0. apply refl_equal. % 47.72/47.87 apply zenon_H6e0. apply refl_equal. % 47.72/47.87 apply (zenon_L52_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H6dc); [ zenon_intro zenon_H6e3 | zenon_intro zenon_H6e2 ]. % 47.72/47.87 cut (((op (e5) (e4)) = (e2)) = ((op (op (e1) (e4)) (e4)) = (op (e1) (op (e4) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6e3. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hf1. % 47.72/47.87 cut (((e2) = (op (e1) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H161]. % 47.72/47.87 cut (((op (e5) (e4)) = (op (op (e1) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6e4]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e1) (e4)) (e4)) = (op (op (e1) (e4)) (e4)))); [ zenon_intro zenon_H6e5 | zenon_intro zenon_H6e6 ]. % 47.72/47.87 cut (((op (op (e1) (e4)) (e4)) = (op (op (e1) (e4)) (e4))) = ((op (e5) (e4)) = (op (op (e1) (e4)) (e4)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6e4. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H6e5. % 47.72/47.87 cut (((op (op (e1) (e4)) (e4)) = (op (op (e1) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6e6]. % 47.72/47.87 cut (((op (op (e1) (e4)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6e7]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e1) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H37 zenon_H30). % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H6e6. apply refl_equal. % 47.72/47.87 apply zenon_H6e6. apply refl_equal. % 47.72/47.87 apply (zenon_L53_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H6e2); [ zenon_intro zenon_H6e9 | zenon_intro zenon_H6e8 ]. % 47.72/47.87 cut (((op (e5) (e5)) = (e0)) = ((op (op (e1) (e4)) (e5)) = (op (e1) (op (e4) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6e9. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hf9. % 47.72/47.87 cut (((e0) = (op (e1) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H167]. % 47.72/47.87 cut (((op (e5) (e5)) = (op (op (e1) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6ea]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e1) (e4)) (e5)) = (op (op (e1) (e4)) (e5)))); [ zenon_intro zenon_H6eb | zenon_intro zenon_H6ec ]. % 47.72/47.87 cut (((op (op (e1) (e4)) (e5)) = (op (op (e1) (e4)) (e5))) = ((op (e5) (e5)) = (op (op (e1) (e4)) (e5)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6ea. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H6eb. % 47.72/47.87 cut (((op (op (e1) (e4)) (e5)) = (op (op (e1) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6ec]. % 47.72/47.87 cut (((op (op (e1) (e4)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6ed]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e1) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H37 zenon_H30). % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H6ec. apply refl_equal. % 47.72/47.87 apply zenon_H6ec. apply refl_equal. % 47.72/47.87 apply (zenon_L54_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H6e8); [ zenon_intro zenon_H6ef | zenon_intro zenon_H6ee ]. % 47.72/47.87 cut (((op (e4) (e0)) = (e4)) = ((op (op (e1) (e5)) (e0)) = (op (e1) (op (e5) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6ef. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Ha1. % 47.72/47.87 cut (((e4) = (op (e1) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H16d]. % 47.72/47.87 cut (((op (e4) (e0)) = (op (op (e1) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6f0]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e1) (e5)) (e0)) = (op (op (e1) (e5)) (e0)))); [ zenon_intro zenon_H6f1 | zenon_intro zenon_H6f2 ]. % 47.72/47.87 cut (((op (op (e1) (e5)) (e0)) = (op (op (e1) (e5)) (e0))) = ((op (e4) (e0)) = (op (op (e1) (e5)) (e0)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6f0. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H6f1. % 47.72/47.87 cut (((op (op (e1) (e5)) (e0)) = (op (op (e1) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6f2]. % 47.72/47.87 cut (((op (op (e1) (e5)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6f3]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e1) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H40 zenon_H39). % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H6f2. apply refl_equal. % 47.72/47.87 apply zenon_H6f2. apply refl_equal. % 47.72/47.87 apply (zenon_L55_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H6ee); [ zenon_intro zenon_H6f5 | zenon_intro zenon_H6f4 ]. % 47.72/47.87 cut (((op (e4) (e1)) = (e2)) = ((op (op (e1) (e5)) (e1)) = (op (e1) (op (e5) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6f5. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Ha9. % 47.72/47.87 cut (((e2) = (op (e1) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H173]. % 47.72/47.87 cut (((op (e4) (e1)) = (op (op (e1) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6f6]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e1) (e5)) (e1)) = (op (op (e1) (e5)) (e1)))); [ zenon_intro zenon_H6f7 | zenon_intro zenon_H6f8 ]. % 47.72/47.87 cut (((op (op (e1) (e5)) (e1)) = (op (op (e1) (e5)) (e1))) = ((op (e4) (e1)) = (op (op (e1) (e5)) (e1)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6f6. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H6f7. % 47.72/47.87 cut (((op (op (e1) (e5)) (e1)) = (op (op (e1) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6f8]. % 47.72/47.87 cut (((op (op (e1) (e5)) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6f9]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e1) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H40 zenon_H39). % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H6f8. apply refl_equal. % 47.72/47.87 apply zenon_H6f8. apply refl_equal. % 47.72/47.87 apply (zenon_L56_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H6f4); [ zenon_intro zenon_H6fb | zenon_intro zenon_H6fa ]. % 47.72/47.87 cut (((op (e4) (e2)) = (e5)) = ((op (op (e1) (e5)) (e2)) = (op (e1) (op (e5) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6fb. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hb1. % 47.72/47.87 cut (((e5) = (op (e1) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H179]. % 47.72/47.87 cut (((op (e4) (e2)) = (op (op (e1) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6fc]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e1) (e5)) (e2)) = (op (op (e1) (e5)) (e2)))); [ zenon_intro zenon_H6fd | zenon_intro zenon_H6fe ]. % 47.72/47.87 cut (((op (op (e1) (e5)) (e2)) = (op (op (e1) (e5)) (e2))) = ((op (e4) (e2)) = (op (op (e1) (e5)) (e2)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H6fc. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H6fd. % 47.72/47.87 cut (((op (op (e1) (e5)) (e2)) = (op (op (e1) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6fe]. % 47.72/47.87 cut (((op (op (e1) (e5)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6ff]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e1) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H40 zenon_H39). % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H6fe. apply refl_equal. % 47.72/47.87 apply zenon_H6fe. apply refl_equal. % 47.72/47.87 apply (zenon_L57_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H6fa); [ zenon_intro zenon_H701 | zenon_intro zenon_H700 ]. % 47.72/47.87 cut (((op (e4) (e3)) = (e0)) = ((op (op (e1) (e5)) (e3)) = (op (e1) (op (e5) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H701. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hb9. % 47.72/47.87 cut (((e0) = (op (e1) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H17f]. % 47.72/47.87 cut (((op (e4) (e3)) = (op (op (e1) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H702]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e1) (e5)) (e3)) = (op (op (e1) (e5)) (e3)))); [ zenon_intro zenon_H703 | zenon_intro zenon_H704 ]. % 47.72/47.87 cut (((op (op (e1) (e5)) (e3)) = (op (op (e1) (e5)) (e3))) = ((op (e4) (e3)) = (op (op (e1) (e5)) (e3)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H702. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H703. % 47.72/47.87 cut (((op (op (e1) (e5)) (e3)) = (op (op (e1) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H704]. % 47.72/47.87 cut (((op (op (e1) (e5)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H705]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e1) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H40 zenon_H39). % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H704. apply refl_equal. % 47.72/47.87 apply zenon_H704. apply refl_equal. % 47.72/47.87 apply (zenon_L58_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H700); [ zenon_intro zenon_H707 | zenon_intro zenon_H706 ]. % 47.72/47.87 cut (((op (e4) (e4)) = (e3)) = ((op (op (e1) (e5)) (e4)) = (op (e1) (op (e5) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H707. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hc1. % 47.72/47.87 cut (((e3) = (op (e1) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H185]. % 47.72/47.87 cut (((op (e4) (e4)) = (op (op (e1) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H708]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e1) (e5)) (e4)) = (op (op (e1) (e5)) (e4)))); [ zenon_intro zenon_H709 | zenon_intro zenon_H70a ]. % 47.72/47.87 cut (((op (op (e1) (e5)) (e4)) = (op (op (e1) (e5)) (e4))) = ((op (e4) (e4)) = (op (op (e1) (e5)) (e4)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H708. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H709. % 47.72/47.87 cut (((op (op (e1) (e5)) (e4)) = (op (op (e1) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H70a]. % 47.72/47.87 cut (((op (op (e1) (e5)) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H70b]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e1) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H40 zenon_H39). % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H70a. apply refl_equal. % 47.72/47.87 apply zenon_H70a. apply refl_equal. % 47.72/47.87 apply (zenon_L59_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H706); [ zenon_intro zenon_H70d | zenon_intro zenon_H70c ]. % 47.72/47.87 cut (((op (e4) (e5)) = (e1)) = ((op (op (e1) (e5)) (e5)) = (op (e1) (op (e5) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H70d. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hc9. % 47.72/47.87 cut (((e1) = (op (e1) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H18b]. % 47.72/47.87 cut (((op (e4) (e5)) = (op (op (e1) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H70e]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e1) (e5)) (e5)) = (op (op (e1) (e5)) (e5)))); [ zenon_intro zenon_H70f | zenon_intro zenon_H710 ]. % 47.72/47.87 cut (((op (op (e1) (e5)) (e5)) = (op (op (e1) (e5)) (e5))) = ((op (e4) (e5)) = (op (op (e1) (e5)) (e5)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H70e. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H70f. % 47.72/47.87 cut (((op (op (e1) (e5)) (e5)) = (op (op (e1) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H710]. % 47.72/47.87 cut (((op (op (e1) (e5)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H711]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e1) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H40 zenon_H39). % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H710. apply refl_equal. % 47.72/47.87 apply zenon_H710. apply refl_equal. % 47.72/47.87 apply (zenon_L60_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H70c); [ zenon_intro zenon_H713 | zenon_intro zenon_H712 ]. % 47.72/47.87 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H56a]. % 47.72/47.87 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H48 zenon_H41). % 47.72/47.87 apply zenon_H56a. apply sym_equal. exact zenon_H11. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H712); [ zenon_intro zenon_H715 | zenon_intro zenon_H714 ]. % 47.72/47.87 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H56d]. % 47.72/47.87 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H48 zenon_H41). % 47.72/47.87 apply zenon_H56d. apply sym_equal. exact zenon_H8. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H714); [ zenon_intro zenon_H717 | zenon_intro zenon_H716 ]. % 47.72/47.87 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H570]. % 47.72/47.87 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H48 zenon_H41). % 47.72/47.87 apply zenon_H570. apply sym_equal. exact zenon_H24. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H716); [ zenon_intro zenon_H719 | zenon_intro zenon_H718 ]. % 47.72/47.87 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H573]. % 47.72/47.87 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H48 zenon_H41). % 47.72/47.87 apply zenon_H573. apply sym_equal. exact zenon_H1b. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H718); [ zenon_intro zenon_H71b | zenon_intro zenon_H71a ]. % 47.72/47.87 cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H576]. % 47.72/47.87 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H48 zenon_H41). % 47.72/47.87 apply zenon_H576. apply sym_equal. exact zenon_H38. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H71a); [ zenon_intro zenon_H71d | zenon_intro zenon_H71c ]. % 47.72/47.87 cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H579]. % 47.72/47.87 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H48 zenon_H41). % 47.72/47.87 apply zenon_H579. apply sym_equal. exact zenon_H2f. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H71c); [ zenon_intro zenon_H71f | zenon_intro zenon_H71e ]. % 47.72/47.87 cut (((op (e4) (e0)) = (e4)) = ((op (op (e2) (e1)) (e0)) = (op (e2) (op (e1) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H71f. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Ha1. % 47.72/47.87 cut (((e4) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H191]. % 47.72/47.87 cut (((op (e4) (e0)) = (op (op (e2) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H720]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e1)) (e0)) = (op (op (e2) (e1)) (e0)))); [ zenon_intro zenon_H721 | zenon_intro zenon_H722 ]. % 47.72/47.87 cut (((op (op (e2) (e1)) (e0)) = (op (op (e2) (e1)) (e0))) = ((op (e4) (e0)) = (op (op (e2) (e1)) (e0)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H720. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H721. % 47.72/47.87 cut (((op (op (e2) (e1)) (e0)) = (op (op (e2) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H722]. % 47.72/47.87 cut (((op (op (e2) (e1)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H723]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H50 zenon_H49). % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H722. apply refl_equal. % 47.72/47.87 apply zenon_H722. apply refl_equal. % 47.72/47.87 apply (zenon_L61_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H71e); [ zenon_intro zenon_H725 | zenon_intro zenon_H724 ]. % 47.72/47.87 cut (((op (e4) (e1)) = (e2)) = ((op (op (e2) (e1)) (e1)) = (op (e2) (op (e1) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H725. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Ha9. % 47.72/47.87 cut (((e2) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H197]. % 47.72/47.87 cut (((op (e4) (e1)) = (op (op (e2) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H726]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e1)) (e1)) = (op (op (e2) (e1)) (e1)))); [ zenon_intro zenon_H727 | zenon_intro zenon_H728 ]. % 47.72/47.87 cut (((op (op (e2) (e1)) (e1)) = (op (op (e2) (e1)) (e1))) = ((op (e4) (e1)) = (op (op (e2) (e1)) (e1)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H726. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H727. % 47.72/47.87 cut (((op (op (e2) (e1)) (e1)) = (op (op (e2) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H728]. % 47.72/47.87 cut (((op (op (e2) (e1)) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H729]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H50 zenon_H49). % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H728. apply refl_equal. % 47.72/47.87 apply zenon_H728. apply refl_equal. % 47.72/47.87 apply (zenon_L62_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H724); [ zenon_intro zenon_H72b | zenon_intro zenon_H72a ]. % 47.72/47.87 cut (((op (e4) (e2)) = (e5)) = ((op (op (e2) (e1)) (e2)) = (op (e2) (op (e1) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H72b. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hb1. % 47.72/47.87 cut (((e5) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H19d]. % 47.72/47.87 cut (((op (e4) (e2)) = (op (op (e2) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H72c]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e1)) (e2)) = (op (op (e2) (e1)) (e2)))); [ zenon_intro zenon_H72d | zenon_intro zenon_H72e ]. % 47.72/47.87 cut (((op (op (e2) (e1)) (e2)) = (op (op (e2) (e1)) (e2))) = ((op (e4) (e2)) = (op (op (e2) (e1)) (e2)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H72c. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H72d. % 47.72/47.87 cut (((op (op (e2) (e1)) (e2)) = (op (op (e2) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H72e]. % 47.72/47.87 cut (((op (op (e2) (e1)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H72f]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H50 zenon_H49). % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H72e. apply refl_equal. % 47.72/47.87 apply zenon_H72e. apply refl_equal. % 47.72/47.87 apply (zenon_L63_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H72a); [ zenon_intro zenon_H731 | zenon_intro zenon_H730 ]. % 47.72/47.87 cut (((op (e4) (e3)) = (e0)) = ((op (op (e2) (e1)) (e3)) = (op (e2) (op (e1) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H731. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hb9. % 47.72/47.87 cut (((e0) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1a3]. % 47.72/47.87 cut (((op (e4) (e3)) = (op (op (e2) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H732]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e1)) (e3)) = (op (op (e2) (e1)) (e3)))); [ zenon_intro zenon_H733 | zenon_intro zenon_H734 ]. % 47.72/47.87 cut (((op (op (e2) (e1)) (e3)) = (op (op (e2) (e1)) (e3))) = ((op (e4) (e3)) = (op (op (e2) (e1)) (e3)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H732. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H733. % 47.72/47.87 cut (((op (op (e2) (e1)) (e3)) = (op (op (e2) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H734]. % 47.72/47.87 cut (((op (op (e2) (e1)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H735]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H50 zenon_H49). % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H734. apply refl_equal. % 47.72/47.87 apply zenon_H734. apply refl_equal. % 47.72/47.87 apply (zenon_L64_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H730); [ zenon_intro zenon_H737 | zenon_intro zenon_H736 ]. % 47.72/47.87 cut (((op (e4) (e4)) = (e3)) = ((op (op (e2) (e1)) (e4)) = (op (e2) (op (e1) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H737. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hc1. % 47.72/47.87 cut (((e3) = (op (e2) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1a9]. % 47.72/47.87 cut (((op (e4) (e4)) = (op (op (e2) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H738]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e1)) (e4)) = (op (op (e2) (e1)) (e4)))); [ zenon_intro zenon_H739 | zenon_intro zenon_H73a ]. % 47.72/47.87 cut (((op (op (e2) (e1)) (e4)) = (op (op (e2) (e1)) (e4))) = ((op (e4) (e4)) = (op (op (e2) (e1)) (e4)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H738. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H739. % 47.72/47.87 cut (((op (op (e2) (e1)) (e4)) = (op (op (e2) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H73a]. % 47.72/47.87 cut (((op (op (e2) (e1)) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H73b]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H50 zenon_H49). % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H73a. apply refl_equal. % 47.72/47.87 apply zenon_H73a. apply refl_equal. % 47.72/47.87 apply (zenon_L65_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H736); [ zenon_intro zenon_H73d | zenon_intro zenon_H73c ]. % 47.72/47.87 cut (((op (e4) (e5)) = (e1)) = ((op (op (e2) (e1)) (e5)) = (op (e2) (op (e1) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H73d. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hc9. % 47.72/47.87 cut (((e1) = (op (e2) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1af]. % 47.72/47.87 cut (((op (e4) (e5)) = (op (op (e2) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H73e]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e1)) (e5)) = (op (op (e2) (e1)) (e5)))); [ zenon_intro zenon_H73f | zenon_intro zenon_H740 ]. % 47.72/47.87 cut (((op (op (e2) (e1)) (e5)) = (op (op (e2) (e1)) (e5))) = ((op (e4) (e5)) = (op (op (e2) (e1)) (e5)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H73e. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H73f. % 47.72/47.87 cut (((op (op (e2) (e1)) (e5)) = (op (op (e2) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H740]. % 47.72/47.87 cut (((op (op (e2) (e1)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H741]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H50 zenon_H49). % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H740. apply refl_equal. % 47.72/47.87 apply zenon_H740. apply refl_equal. % 47.72/47.87 apply (zenon_L66_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H73c); [ zenon_intro zenon_H743 | zenon_intro zenon_H742 ]. % 47.72/47.87 cut (((op (e0) (e0)) = (e0)) = ((op (op (e2) (e2)) (e0)) = (op (e2) (op (e2) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H743. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H11. % 47.72/47.87 cut (((e0) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H744]. % 47.72/47.87 cut (((op (e0) (e0)) = (op (op (e2) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H745]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e2)) (e0)) = (op (op (e2) (e2)) (e0)))); [ zenon_intro zenon_H746 | zenon_intro zenon_H747 ]. % 47.72/47.87 cut (((op (op (e2) (e2)) (e0)) = (op (op (e2) (e2)) (e0))) = ((op (e0) (e0)) = (op (op (e2) (e2)) (e0)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H745. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H746. % 47.72/47.87 cut (((op (op (e2) (e2)) (e0)) = (op (op (e2) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H747]. % 47.72/47.87 cut (((op (op (e2) (e2)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H748]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e2) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H58 zenon_H51). % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H747. apply refl_equal. % 47.72/47.87 apply zenon_H747. apply refl_equal. % 47.72/47.87 elim (classic ((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [ zenon_intro zenon_H749 | zenon_intro zenon_H74a ]. % 47.72/47.87 cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0)))) = ((e0) = (op (e2) (op (e2) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H744. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H749. % 47.72/47.87 cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H74a]. % 47.72/47.87 cut (((op (e2) (op (e2) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H74b]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e2) (e2)) = (e0)) = ((op (e2) (op (e2) (e0))) = (e0))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H74b. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H51. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e2) (e2)) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H74c]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [ zenon_intro zenon_H749 | zenon_intro zenon_H74a ]. % 47.72/47.87 cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0)))) = ((op (e2) (e2)) = (op (e2) (op (e2) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H74c. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H749. % 47.72/47.87 cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H74a]. % 47.72/47.87 cut (((op (e2) (op (e2) (e0))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H74d]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 congruence. % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 exact (zenon_H48 zenon_H41). % 47.72/47.87 apply zenon_H74a. apply refl_equal. % 47.72/47.87 apply zenon_H74a. apply refl_equal. % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H74a. apply refl_equal. % 47.72/47.87 apply zenon_H74a. apply refl_equal. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H742); [ zenon_intro zenon_H74f | zenon_intro zenon_H74e ]. % 47.72/47.87 cut (((op (e0) (e1)) = (e1)) = ((op (op (e2) (e2)) (e1)) = (op (e2) (op (e2) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H74f. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8. % 47.72/47.87 cut (((e1) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H750]. % 47.72/47.87 cut (((op (e0) (e1)) = (op (op (e2) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H751]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e2)) (e1)) = (op (op (e2) (e2)) (e1)))); [ zenon_intro zenon_H752 | zenon_intro zenon_H753 ]. % 47.72/47.87 cut (((op (op (e2) (e2)) (e1)) = (op (op (e2) (e2)) (e1))) = ((op (e0) (e1)) = (op (op (e2) (e2)) (e1)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H751. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H752. % 47.72/47.87 cut (((op (op (e2) (e2)) (e1)) = (op (op (e2) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H753]. % 47.72/47.87 cut (((op (op (e2) (e2)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H754]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e2) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H58 zenon_H51). % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H753. apply refl_equal. % 47.72/47.87 apply zenon_H753. apply refl_equal. % 47.72/47.87 elim (classic ((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [ zenon_intro zenon_H755 | zenon_intro zenon_H756 ]. % 47.72/47.87 cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1)))) = ((e1) = (op (e2) (op (e2) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H750. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H755. % 47.72/47.87 cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H756]. % 47.72/47.87 cut (((op (e2) (op (e2) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H757]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e2) (e4)) = (e1)) = ((op (e2) (op (e2) (e1))) = (e1))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H757. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H61. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e2) (e4)) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H758]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [ zenon_intro zenon_H755 | zenon_intro zenon_H756 ]. % 47.72/47.87 cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1)))) = ((op (e2) (e4)) = (op (e2) (op (e2) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H758. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H755. % 47.72/47.87 cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H756]. % 47.72/47.87 cut (((op (e2) (op (e2) (e1))) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H759]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 congruence. % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 exact (zenon_H50 zenon_H49). % 47.72/47.87 apply zenon_H756. apply refl_equal. % 47.72/47.87 apply zenon_H756. apply refl_equal. % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H756. apply refl_equal. % 47.72/47.87 apply zenon_H756. apply refl_equal. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H74e); [ zenon_intro zenon_H75b | zenon_intro zenon_H75a ]. % 47.72/47.87 cut (((op (e0) (e2)) = (e2)) = ((op (op (e2) (e2)) (e2)) = (op (e2) (op (e2) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H75b. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H24. % 47.72/47.87 cut (((e2) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H75c]. % 47.72/47.87 cut (((op (e0) (e2)) = (op (op (e2) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H75d]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e2)) (e2)) = (op (op (e2) (e2)) (e2)))); [ zenon_intro zenon_H75e | zenon_intro zenon_H75f ]. % 47.72/47.87 cut (((op (op (e2) (e2)) (e2)) = (op (op (e2) (e2)) (e2))) = ((op (e0) (e2)) = (op (op (e2) (e2)) (e2)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H75d. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H75e. % 47.72/47.87 cut (((op (op (e2) (e2)) (e2)) = (op (op (e2) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H75f]. % 47.72/47.87 cut (((op (op (e2) (e2)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H760]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e2) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H58 zenon_H51). % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H75f. apply refl_equal. % 47.72/47.87 apply zenon_H75f. apply refl_equal. % 47.72/47.87 elim (classic ((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [ zenon_intro zenon_H761 | zenon_intro zenon_H762 ]. % 47.72/47.87 cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2)))) = ((e2) = (op (e2) (op (e2) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H75c. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H761. % 47.72/47.87 cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H762]. % 47.72/47.87 cut (((op (e2) (op (e2) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H763]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e2) (e2))) = (e2))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H763. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H41. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e2) (e0)) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H764]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [ zenon_intro zenon_H761 | zenon_intro zenon_H762 ]. % 47.72/47.87 cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2)))) = ((op (e2) (e0)) = (op (e2) (op (e2) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H764. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H761. % 47.72/47.87 cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H762]. % 47.72/47.87 cut (((op (e2) (op (e2) (e2))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H765]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e2) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 congruence. % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 exact (zenon_H58 zenon_H51). % 47.72/47.87 apply zenon_H762. apply refl_equal. % 47.72/47.87 apply zenon_H762. apply refl_equal. % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H762. apply refl_equal. % 47.72/47.87 apply zenon_H762. apply refl_equal. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H75a); [ zenon_intro zenon_H767 | zenon_intro zenon_H766 ]. % 47.72/47.87 cut (((op (e0) (e3)) = (e3)) = ((op (op (e2) (e2)) (e3)) = (op (e2) (op (e2) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H767. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H1b. % 47.72/47.87 cut (((e3) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H768]. % 47.72/47.87 cut (((op (e0) (e3)) = (op (op (e2) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H769]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e2)) (e3)) = (op (op (e2) (e2)) (e3)))); [ zenon_intro zenon_H76a | zenon_intro zenon_H76b ]. % 47.72/47.87 cut (((op (op (e2) (e2)) (e3)) = (op (op (e2) (e2)) (e3))) = ((op (e0) (e3)) = (op (op (e2) (e2)) (e3)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H769. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H76a. % 47.72/47.87 cut (((op (op (e2) (e2)) (e3)) = (op (op (e2) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H76b]. % 47.72/47.87 cut (((op (op (e2) (e2)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H76c]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e2) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H58 zenon_H51). % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H76b. apply refl_equal. % 47.72/47.87 apply zenon_H76b. apply refl_equal. % 47.72/47.87 elim (classic ((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [ zenon_intro zenon_H76d | zenon_intro zenon_H76e ]. % 47.72/47.87 cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3)))) = ((e3) = (op (e2) (op (e2) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H768. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H76d. % 47.72/47.87 cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H76e]. % 47.72/47.87 cut (((op (e2) (op (e2) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H76f]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e2) (e5)) = (e3)) = ((op (e2) (op (e2) (e3))) = (e3))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H76f. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H69. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e2) (e5)) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H770]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [ zenon_intro zenon_H76d | zenon_intro zenon_H76e ]. % 47.72/47.87 cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3)))) = ((op (e2) (e5)) = (op (e2) (op (e2) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H770. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H76d. % 47.72/47.87 cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H76e]. % 47.72/47.87 cut (((op (e2) (op (e2) (e3))) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H771]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e2) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 congruence. % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 exact (zenon_H60 zenon_H59). % 47.72/47.87 apply zenon_H76e. apply refl_equal. % 47.72/47.87 apply zenon_H76e. apply refl_equal. % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H76e. apply refl_equal. % 47.72/47.87 apply zenon_H76e. apply refl_equal. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H766); [ zenon_intro zenon_H773 | zenon_intro zenon_H772 ]. % 47.72/47.87 cut (((op (e0) (e4)) = (e4)) = ((op (op (e2) (e2)) (e4)) = (op (e2) (op (e2) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H773. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H38. % 47.72/47.87 cut (((e4) = (op (e2) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H774]. % 47.72/47.87 cut (((op (e0) (e4)) = (op (op (e2) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H775]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e2)) (e4)) = (op (op (e2) (e2)) (e4)))); [ zenon_intro zenon_H776 | zenon_intro zenon_H777 ]. % 47.72/47.87 cut (((op (op (e2) (e2)) (e4)) = (op (op (e2) (e2)) (e4))) = ((op (e0) (e4)) = (op (op (e2) (e2)) (e4)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H775. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H776. % 47.72/47.87 cut (((op (op (e2) (e2)) (e4)) = (op (op (e2) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H777]. % 47.72/47.87 cut (((op (op (e2) (e2)) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H778]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e2) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H58 zenon_H51). % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H777. apply refl_equal. % 47.72/47.87 apply zenon_H777. apply refl_equal. % 47.72/47.87 elim (classic ((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4))))); [ zenon_intro zenon_H779 | zenon_intro zenon_H77a ]. % 47.72/47.87 cut (((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4)))) = ((e4) = (op (e2) (op (e2) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H774. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H779. % 47.72/47.87 cut (((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H77a]. % 47.72/47.87 cut (((op (e2) (op (e2) (e4))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H77b]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e2) (e1)) = (e4)) = ((op (e2) (op (e2) (e4))) = (e4))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H77b. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H49. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e2) (e1)) = (op (e2) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H77c]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4))))); [ zenon_intro zenon_H779 | zenon_intro zenon_H77a ]. % 47.72/47.87 cut (((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4)))) = ((op (e2) (e1)) = (op (e2) (op (e2) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H77c. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H779. % 47.72/47.87 cut (((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H77a]. % 47.72/47.87 cut (((op (e2) (op (e2) (e4))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H77d]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e2) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 congruence. % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 exact (zenon_H68 zenon_H61). % 47.72/47.87 apply zenon_H77a. apply refl_equal. % 47.72/47.87 apply zenon_H77a. apply refl_equal. % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H77a. apply refl_equal. % 47.72/47.87 apply zenon_H77a. apply refl_equal. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H772); [ zenon_intro zenon_H77f | zenon_intro zenon_H77e ]. % 47.72/47.87 cut (((op (e0) (e5)) = (e5)) = ((op (op (e2) (e2)) (e5)) = (op (e2) (op (e2) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H77f. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H2f. % 47.72/47.87 cut (((e5) = (op (e2) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H780]. % 47.72/47.87 cut (((op (e0) (e5)) = (op (op (e2) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H781]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e2)) (e5)) = (op (op (e2) (e2)) (e5)))); [ zenon_intro zenon_H782 | zenon_intro zenon_H783 ]. % 47.72/47.87 cut (((op (op (e2) (e2)) (e5)) = (op (op (e2) (e2)) (e5))) = ((op (e0) (e5)) = (op (op (e2) (e2)) (e5)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H781. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H782. % 47.72/47.87 cut (((op (op (e2) (e2)) (e5)) = (op (op (e2) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H783]. % 47.72/47.87 cut (((op (op (e2) (e2)) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H784]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e2) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H58 zenon_H51). % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H783. apply refl_equal. % 47.72/47.87 apply zenon_H783. apply refl_equal. % 47.72/47.87 elim (classic ((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5))))); [ zenon_intro zenon_H785 | zenon_intro zenon_H786 ]. % 47.72/47.87 cut (((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5)))) = ((e5) = (op (e2) (op (e2) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H780. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H785. % 47.72/47.87 cut (((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H786]. % 47.72/47.87 cut (((op (e2) (op (e2) (e5))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H787]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e2) (e3)) = (e5)) = ((op (e2) (op (e2) (e5))) = (e5))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H787. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H59. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e2) (e3)) = (op (e2) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H788]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5))))); [ zenon_intro zenon_H785 | zenon_intro zenon_H786 ]. % 47.72/47.87 cut (((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5)))) = ((op (e2) (e3)) = (op (e2) (op (e2) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H788. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H785. % 47.72/47.87 cut (((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H786]. % 47.72/47.87 cut (((op (e2) (op (e2) (e5))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H789]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e2) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 congruence. % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 exact (zenon_H70 zenon_H69). % 47.72/47.87 apply zenon_H786. apply refl_equal. % 47.72/47.87 apply zenon_H786. apply refl_equal. % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H786. apply refl_equal. % 47.72/47.87 apply zenon_H786. apply refl_equal. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H77e); [ zenon_intro zenon_H78b | zenon_intro zenon_H78a ]. % 47.72/47.87 cut (((op (e5) (e0)) = (e5)) = ((op (op (e2) (e3)) (e0)) = (op (e2) (op (e3) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H78b. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hd1. % 47.72/47.87 cut (((e5) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1b5]. % 47.72/47.87 cut (((op (e5) (e0)) = (op (op (e2) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H78c]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e3)) (e0)) = (op (op (e2) (e3)) (e0)))); [ zenon_intro zenon_H78d | zenon_intro zenon_H78e ]. % 47.72/47.87 cut (((op (op (e2) (e3)) (e0)) = (op (op (e2) (e3)) (e0))) = ((op (e5) (e0)) = (op (op (e2) (e3)) (e0)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H78c. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H78d. % 47.72/47.87 cut (((op (op (e2) (e3)) (e0)) = (op (op (e2) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H78e]. % 47.72/47.87 cut (((op (op (e2) (e3)) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H78f]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e2) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H60 zenon_H59). % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H78e. apply refl_equal. % 47.72/47.87 apply zenon_H78e. apply refl_equal. % 47.72/47.87 apply (zenon_L67_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H78a); [ zenon_intro zenon_H791 | zenon_intro zenon_H790 ]. % 47.72/47.87 cut (((op (e5) (e1)) = (e3)) = ((op (op (e2) (e3)) (e1)) = (op (e2) (op (e3) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H791. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hd9. % 47.72/47.87 cut (((e3) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1bb]. % 47.72/47.87 cut (((op (e5) (e1)) = (op (op (e2) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H792]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e3)) (e1)) = (op (op (e2) (e3)) (e1)))); [ zenon_intro zenon_H793 | zenon_intro zenon_H794 ]. % 47.72/47.87 cut (((op (op (e2) (e3)) (e1)) = (op (op (e2) (e3)) (e1))) = ((op (e5) (e1)) = (op (op (e2) (e3)) (e1)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H792. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H793. % 47.72/47.87 cut (((op (op (e2) (e3)) (e1)) = (op (op (e2) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H794]. % 47.72/47.87 cut (((op (op (e2) (e3)) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H795]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e2) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H60 zenon_H59). % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H794. apply refl_equal. % 47.72/47.87 apply zenon_H794. apply refl_equal. % 47.72/47.87 apply (zenon_L68_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H790); [ zenon_intro zenon_H797 | zenon_intro zenon_H796 ]. % 47.72/47.87 cut (((op (e5) (e2)) = (e4)) = ((op (op (e2) (e3)) (e2)) = (op (e2) (op (e3) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H797. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_He1. % 47.72/47.87 cut (((e4) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1c1]. % 47.72/47.87 cut (((op (e5) (e2)) = (op (op (e2) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H798]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e3)) (e2)) = (op (op (e2) (e3)) (e2)))); [ zenon_intro zenon_H799 | zenon_intro zenon_H79a ]. % 47.72/47.87 cut (((op (op (e2) (e3)) (e2)) = (op (op (e2) (e3)) (e2))) = ((op (e5) (e2)) = (op (op (e2) (e3)) (e2)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H798. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H799. % 47.72/47.87 cut (((op (op (e2) (e3)) (e2)) = (op (op (e2) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H79a]. % 47.72/47.87 cut (((op (op (e2) (e3)) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H79b]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e2) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H60 zenon_H59). % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H79a. apply refl_equal. % 47.72/47.87 apply zenon_H79a. apply refl_equal. % 47.72/47.87 apply (zenon_L69_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H796); [ zenon_intro zenon_H79d | zenon_intro zenon_H79c ]. % 47.72/47.87 cut (((op (e5) (e3)) = (e1)) = ((op (op (e2) (e3)) (e3)) = (op (e2) (op (e3) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H79d. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_He9. % 47.72/47.87 cut (((e1) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1c7]. % 47.72/47.87 cut (((op (e5) (e3)) = (op (op (e2) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H79e]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e3)) (e3)) = (op (op (e2) (e3)) (e3)))); [ zenon_intro zenon_H79f | zenon_intro zenon_H7a0 ]. % 47.72/47.87 cut (((op (op (e2) (e3)) (e3)) = (op (op (e2) (e3)) (e3))) = ((op (e5) (e3)) = (op (op (e2) (e3)) (e3)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H79e. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H79f. % 47.72/47.87 cut (((op (op (e2) (e3)) (e3)) = (op (op (e2) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7a0]. % 47.72/47.87 cut (((op (op (e2) (e3)) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7a1]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e2) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H60 zenon_H59). % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H7a0. apply refl_equal. % 47.72/47.87 apply zenon_H7a0. apply refl_equal. % 47.72/47.87 apply (zenon_L70_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H79c); [ zenon_intro zenon_H7a3 | zenon_intro zenon_H7a2 ]. % 47.72/47.87 cut (((op (e5) (e4)) = (e2)) = ((op (op (e2) (e3)) (e4)) = (op (e2) (op (e3) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7a3. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hf1. % 47.72/47.87 cut (((e2) = (op (e2) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1cd]. % 47.72/47.87 cut (((op (e5) (e4)) = (op (op (e2) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7a4]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e3)) (e4)) = (op (op (e2) (e3)) (e4)))); [ zenon_intro zenon_H7a5 | zenon_intro zenon_H7a6 ]. % 47.72/47.87 cut (((op (op (e2) (e3)) (e4)) = (op (op (e2) (e3)) (e4))) = ((op (e5) (e4)) = (op (op (e2) (e3)) (e4)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7a4. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H7a5. % 47.72/47.87 cut (((op (op (e2) (e3)) (e4)) = (op (op (e2) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7a6]. % 47.72/47.87 cut (((op (op (e2) (e3)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7a7]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e2) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H60 zenon_H59). % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H7a6. apply refl_equal. % 47.72/47.87 apply zenon_H7a6. apply refl_equal. % 47.72/47.87 apply (zenon_L71_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7a2); [ zenon_intro zenon_H7a9 | zenon_intro zenon_H7a8 ]. % 47.72/47.87 cut (((op (e5) (e5)) = (e0)) = ((op (op (e2) (e3)) (e5)) = (op (e2) (op (e3) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7a9. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hf9. % 47.72/47.87 cut (((e0) = (op (e2) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1d3]. % 47.72/47.87 cut (((op (e5) (e5)) = (op (op (e2) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7aa]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e3)) (e5)) = (op (op (e2) (e3)) (e5)))); [ zenon_intro zenon_H7ab | zenon_intro zenon_H7ac ]. % 47.72/47.87 cut (((op (op (e2) (e3)) (e5)) = (op (op (e2) (e3)) (e5))) = ((op (e5) (e5)) = (op (op (e2) (e3)) (e5)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7aa. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H7ab. % 47.72/47.87 cut (((op (op (e2) (e3)) (e5)) = (op (op (e2) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7ac]. % 47.72/47.87 cut (((op (op (e2) (e3)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7ad]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e2) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H60 zenon_H59). % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H7ac. apply refl_equal. % 47.72/47.87 apply zenon_H7ac. apply refl_equal. % 47.72/47.87 apply (zenon_L72_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7a8); [ zenon_intro zenon_H7af | zenon_intro zenon_H7ae ]. % 47.72/47.87 cut (((op (e1) (e0)) = (e1)) = ((op (op (e2) (e4)) (e0)) = (op (e2) (op (e4) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7af. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H9. % 47.72/47.87 cut (((e1) = (op (e2) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1d9]. % 47.72/47.87 cut (((op (e1) (e0)) = (op (op (e2) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7b0]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e4)) (e0)) = (op (op (e2) (e4)) (e0)))); [ zenon_intro zenon_H7b1 | zenon_intro zenon_H7b2 ]. % 47.72/47.87 cut (((op (op (e2) (e4)) (e0)) = (op (op (e2) (e4)) (e0))) = ((op (e1) (e0)) = (op (op (e2) (e4)) (e0)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7b0. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H7b1. % 47.72/47.87 cut (((op (op (e2) (e4)) (e0)) = (op (op (e2) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7b2]. % 47.72/47.87 cut (((op (op (e2) (e4)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7b3]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e2) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H68 zenon_H61). % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H7b2. apply refl_equal. % 47.72/47.87 apply zenon_H7b2. apply refl_equal. % 47.72/47.87 apply (zenon_L73_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7ae); [ zenon_intro zenon_H7b5 | zenon_intro zenon_H7b4 ]. % 47.72/47.87 cut (((op (e1) (e1)) = (e0)) = ((op (op (e2) (e4)) (e1)) = (op (e2) (op (e4) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7b5. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H12. % 47.72/47.87 cut (((e0) = (op (e2) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 47.72/47.87 cut (((op (e1) (e1)) = (op (op (e2) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7b6]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e4)) (e1)) = (op (op (e2) (e4)) (e1)))); [ zenon_intro zenon_H7b7 | zenon_intro zenon_H7b8 ]. % 47.72/47.87 cut (((op (op (e2) (e4)) (e1)) = (op (op (e2) (e4)) (e1))) = ((op (e1) (e1)) = (op (op (e2) (e4)) (e1)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7b6. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H7b7. % 47.72/47.87 cut (((op (op (e2) (e4)) (e1)) = (op (op (e2) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7b8]. % 47.72/47.87 cut (((op (op (e2) (e4)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7b9]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e2) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H68 zenon_H61). % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H7b8. apply refl_equal. % 47.72/47.87 apply zenon_H7b8. apply refl_equal. % 47.72/47.87 apply (zenon_L74_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7b4); [ zenon_intro zenon_H7bb | zenon_intro zenon_H7ba ]. % 47.72/47.87 cut (((op (e1) (e2)) = (e3)) = ((op (op (e2) (e4)) (e2)) = (op (e2) (op (e4) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7bb. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H1c. % 47.72/47.87 cut (((e3) = (op (e2) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1e5]. % 47.72/47.87 cut (((op (e1) (e2)) = (op (op (e2) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7bc]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e4)) (e2)) = (op (op (e2) (e4)) (e2)))); [ zenon_intro zenon_H7bd | zenon_intro zenon_H7be ]. % 47.72/47.87 cut (((op (op (e2) (e4)) (e2)) = (op (op (e2) (e4)) (e2))) = ((op (e1) (e2)) = (op (op (e2) (e4)) (e2)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7bc. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H7bd. % 47.72/47.87 cut (((op (op (e2) (e4)) (e2)) = (op (op (e2) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7be]. % 47.72/47.87 cut (((op (op (e2) (e4)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7bf]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e2) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H68 zenon_H61). % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H7be. apply refl_equal. % 47.72/47.87 apply zenon_H7be. apply refl_equal. % 47.72/47.87 apply (zenon_L75_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7ba); [ zenon_intro zenon_H7c1 | zenon_intro zenon_H7c0 ]. % 47.72/47.87 cut (((op (e1) (e3)) = (e2)) = ((op (op (e2) (e4)) (e3)) = (op (e2) (op (e4) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7c1. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H25. % 47.72/47.87 cut (((e2) = (op (e2) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1eb]. % 47.72/47.87 cut (((op (e1) (e3)) = (op (op (e2) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7c2]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e4)) (e3)) = (op (op (e2) (e4)) (e3)))); [ zenon_intro zenon_H7c3 | zenon_intro zenon_H7c4 ]. % 47.72/47.87 cut (((op (op (e2) (e4)) (e3)) = (op (op (e2) (e4)) (e3))) = ((op (e1) (e3)) = (op (op (e2) (e4)) (e3)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7c2. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H7c3. % 47.72/47.87 cut (((op (op (e2) (e4)) (e3)) = (op (op (e2) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7c4]. % 47.72/47.87 cut (((op (op (e2) (e4)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7c5]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e2) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H68 zenon_H61). % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H7c4. apply refl_equal. % 47.72/47.87 apply zenon_H7c4. apply refl_equal. % 47.72/47.87 apply (zenon_L76_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7c0); [ zenon_intro zenon_H7c7 | zenon_intro zenon_H7c6 ]. % 47.72/47.87 cut (((op (e1) (e4)) = (e5)) = ((op (op (e2) (e4)) (e4)) = (op (e2) (op (e4) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7c7. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H30. % 47.72/47.87 cut (((e5) = (op (e2) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1f1]. % 47.72/47.87 cut (((op (e1) (e4)) = (op (op (e2) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7c8]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e4)) (e4)) = (op (op (e2) (e4)) (e4)))); [ zenon_intro zenon_H7c9 | zenon_intro zenon_H7ca ]. % 47.72/47.87 cut (((op (op (e2) (e4)) (e4)) = (op (op (e2) (e4)) (e4))) = ((op (e1) (e4)) = (op (op (e2) (e4)) (e4)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7c8. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H7c9. % 47.72/47.87 cut (((op (op (e2) (e4)) (e4)) = (op (op (e2) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7ca]. % 47.72/47.87 cut (((op (op (e2) (e4)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7cb]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e2) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H68 zenon_H61). % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H7ca. apply refl_equal. % 47.72/47.87 apply zenon_H7ca. apply refl_equal. % 47.72/47.87 apply (zenon_L77_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7c6); [ zenon_intro zenon_H7cd | zenon_intro zenon_H7cc ]. % 47.72/47.87 cut (((op (e1) (e5)) = (e4)) = ((op (op (e2) (e4)) (e5)) = (op (e2) (op (e4) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7cd. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H39. % 47.72/47.87 cut (((e4) = (op (e2) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1f7]. % 47.72/47.87 cut (((op (e1) (e5)) = (op (op (e2) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7ce]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e4)) (e5)) = (op (op (e2) (e4)) (e5)))); [ zenon_intro zenon_H7cf | zenon_intro zenon_H7d0 ]. % 47.72/47.87 cut (((op (op (e2) (e4)) (e5)) = (op (op (e2) (e4)) (e5))) = ((op (e1) (e5)) = (op (op (e2) (e4)) (e5)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7ce. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H7cf. % 47.72/47.87 cut (((op (op (e2) (e4)) (e5)) = (op (op (e2) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7d0]. % 47.72/47.87 cut (((op (op (e2) (e4)) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7d1]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e2) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H68 zenon_H61). % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H7d0. apply refl_equal. % 47.72/47.87 apply zenon_H7d0. apply refl_equal. % 47.72/47.87 apply (zenon_L78_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7cc); [ zenon_intro zenon_H7d3 | zenon_intro zenon_H7d2 ]. % 47.72/47.87 cut (((op (e3) (e0)) = (e3)) = ((op (op (e2) (e5)) (e0)) = (op (e2) (op (e5) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7d3. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H71. % 47.72/47.87 cut (((e3) = (op (e2) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1fd]. % 47.72/47.87 cut (((op (e3) (e0)) = (op (op (e2) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7d4]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e5)) (e0)) = (op (op (e2) (e5)) (e0)))); [ zenon_intro zenon_H7d5 | zenon_intro zenon_H7d6 ]. % 47.72/47.87 cut (((op (op (e2) (e5)) (e0)) = (op (op (e2) (e5)) (e0))) = ((op (e3) (e0)) = (op (op (e2) (e5)) (e0)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7d4. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H7d5. % 47.72/47.87 cut (((op (op (e2) (e5)) (e0)) = (op (op (e2) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7d6]. % 47.72/47.87 cut (((op (op (e2) (e5)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7d7]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e2) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H70 zenon_H69). % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H7d6. apply refl_equal. % 47.72/47.87 apply zenon_H7d6. apply refl_equal. % 47.72/47.87 apply (zenon_L79_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7d2); [ zenon_intro zenon_H7d9 | zenon_intro zenon_H7d8 ]. % 47.72/47.87 cut (((op (e3) (e1)) = (e5)) = ((op (op (e2) (e5)) (e1)) = (op (e2) (op (e5) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7d9. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H79. % 47.72/47.87 cut (((e5) = (op (e2) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H203]. % 47.72/47.87 cut (((op (e3) (e1)) = (op (op (e2) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7da]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e5)) (e1)) = (op (op (e2) (e5)) (e1)))); [ zenon_intro zenon_H7db | zenon_intro zenon_H7dc ]. % 47.72/47.87 cut (((op (op (e2) (e5)) (e1)) = (op (op (e2) (e5)) (e1))) = ((op (e3) (e1)) = (op (op (e2) (e5)) (e1)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7da. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H7db. % 47.72/47.87 cut (((op (op (e2) (e5)) (e1)) = (op (op (e2) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7dc]. % 47.72/47.87 cut (((op (op (e2) (e5)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7dd]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e2) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H70 zenon_H69). % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H7dc. apply refl_equal. % 47.72/47.87 apply zenon_H7dc. apply refl_equal. % 47.72/47.87 apply (zenon_L80_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7d8); [ zenon_intro zenon_H7df | zenon_intro zenon_H7de ]. % 47.72/47.87 cut (((op (e3) (e2)) = (e1)) = ((op (op (e2) (e5)) (e2)) = (op (e2) (op (e5) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7df. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H81. % 47.72/47.87 cut (((e1) = (op (e2) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 47.72/47.87 cut (((op (e3) (e2)) = (op (op (e2) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7e0]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e5)) (e2)) = (op (op (e2) (e5)) (e2)))); [ zenon_intro zenon_H7e1 | zenon_intro zenon_H7e2 ]. % 47.72/47.87 cut (((op (op (e2) (e5)) (e2)) = (op (op (e2) (e5)) (e2))) = ((op (e3) (e2)) = (op (op (e2) (e5)) (e2)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7e0. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H7e1. % 47.72/47.87 cut (((op (op (e2) (e5)) (e2)) = (op (op (e2) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7e2]. % 47.72/47.87 cut (((op (op (e2) (e5)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7e3]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e2) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H70 zenon_H69). % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H7e2. apply refl_equal. % 47.72/47.87 apply zenon_H7e2. apply refl_equal. % 47.72/47.87 apply (zenon_L81_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7de); [ zenon_intro zenon_H7e5 | zenon_intro zenon_H7e4 ]. % 47.72/47.87 cut (((op (e3) (e3)) = (e4)) = ((op (op (e2) (e5)) (e3)) = (op (e2) (op (e5) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7e5. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H89. % 47.72/47.87 cut (((e4) = (op (e2) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H20f]. % 47.72/47.87 cut (((op (e3) (e3)) = (op (op (e2) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7e6]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e5)) (e3)) = (op (op (e2) (e5)) (e3)))); [ zenon_intro zenon_H7e7 | zenon_intro zenon_H7e8 ]. % 47.72/47.87 cut (((op (op (e2) (e5)) (e3)) = (op (op (e2) (e5)) (e3))) = ((op (e3) (e3)) = (op (op (e2) (e5)) (e3)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7e6. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H7e7. % 47.72/47.87 cut (((op (op (e2) (e5)) (e3)) = (op (op (e2) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7e8]. % 47.72/47.87 cut (((op (op (e2) (e5)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7e9]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e2) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H70 zenon_H69). % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H7e8. apply refl_equal. % 47.72/47.87 apply zenon_H7e8. apply refl_equal. % 47.72/47.87 apply (zenon_L82_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7e4); [ zenon_intro zenon_H7eb | zenon_intro zenon_H7ea ]. % 47.72/47.87 cut (((op (e3) (e4)) = (e0)) = ((op (op (e2) (e5)) (e4)) = (op (e2) (op (e5) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7eb. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H91. % 47.72/47.87 cut (((e0) = (op (e2) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H215]. % 47.72/47.87 cut (((op (e3) (e4)) = (op (op (e2) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7ec]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e5)) (e4)) = (op (op (e2) (e5)) (e4)))); [ zenon_intro zenon_H7ed | zenon_intro zenon_H7ee ]. % 47.72/47.87 cut (((op (op (e2) (e5)) (e4)) = (op (op (e2) (e5)) (e4))) = ((op (e3) (e4)) = (op (op (e2) (e5)) (e4)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7ec. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H7ed. % 47.72/47.87 cut (((op (op (e2) (e5)) (e4)) = (op (op (e2) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7ee]. % 47.72/47.87 cut (((op (op (e2) (e5)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7ef]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e2) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H70 zenon_H69). % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H7ee. apply refl_equal. % 47.72/47.87 apply zenon_H7ee. apply refl_equal. % 47.72/47.87 apply (zenon_L83_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7ea); [ zenon_intro zenon_H7f1 | zenon_intro zenon_H7f0 ]. % 47.72/47.87 cut (((op (e3) (e5)) = (e2)) = ((op (op (e2) (e5)) (e5)) = (op (e2) (op (e5) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7f1. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H99. % 47.72/47.87 cut (((e2) = (op (e2) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H21b]. % 47.72/47.87 cut (((op (e3) (e5)) = (op (op (e2) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7f2]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e2) (e5)) (e5)) = (op (op (e2) (e5)) (e5)))); [ zenon_intro zenon_H7f3 | zenon_intro zenon_H7f4 ]. % 47.72/47.87 cut (((op (op (e2) (e5)) (e5)) = (op (op (e2) (e5)) (e5))) = ((op (e3) (e5)) = (op (op (e2) (e5)) (e5)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H7f2. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H7f3. % 47.72/47.87 cut (((op (op (e2) (e5)) (e5)) = (op (op (e2) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7f4]. % 47.72/47.87 cut (((op (op (e2) (e5)) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7f5]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e2) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H70 zenon_H69). % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H7f4. apply refl_equal. % 47.72/47.87 apply zenon_H7f4. apply refl_equal. % 47.72/47.87 apply (zenon_L84_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7f0); [ zenon_intro zenon_H7f7 | zenon_intro zenon_H7f6 ]. % 47.72/47.87 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H56a]. % 47.72/47.87 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H78 zenon_H71). % 47.72/47.87 apply zenon_H56a. apply sym_equal. exact zenon_H11. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7f6); [ zenon_intro zenon_H7f9 | zenon_intro zenon_H7f8 ]. % 47.72/47.87 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H56d]. % 47.72/47.87 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H78 zenon_H71). % 47.72/47.87 apply zenon_H56d. apply sym_equal. exact zenon_H8. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7f8); [ zenon_intro zenon_H7fb | zenon_intro zenon_H7fa ]. % 47.72/47.87 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H570]. % 47.72/47.87 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H78 zenon_H71). % 47.72/47.87 apply zenon_H570. apply sym_equal. exact zenon_H24. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7fa); [ zenon_intro zenon_H7fd | zenon_intro zenon_H7fc ]. % 47.72/47.87 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H573]. % 47.72/47.87 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H78 zenon_H71). % 47.72/47.87 apply zenon_H573. apply sym_equal. exact zenon_H1b. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7fc); [ zenon_intro zenon_H7ff | zenon_intro zenon_H7fe ]. % 47.72/47.87 cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H576]. % 47.72/47.87 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H78 zenon_H71). % 47.72/47.87 apply zenon_H576. apply sym_equal. exact zenon_H38. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H7fe); [ zenon_intro zenon_H801 | zenon_intro zenon_H800 ]. % 47.72/47.87 cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H579]. % 47.72/47.87 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H78 zenon_H71). % 47.72/47.87 apply zenon_H579. apply sym_equal. exact zenon_H2f. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H800); [ zenon_intro zenon_H803 | zenon_intro zenon_H802 ]. % 47.72/47.87 cut (((op (e5) (e0)) = (e5)) = ((op (op (e3) (e1)) (e0)) = (op (e3) (op (e1) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H803. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hd1. % 47.72/47.87 cut (((e5) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H221]. % 47.72/47.87 cut (((op (e5) (e0)) = (op (op (e3) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H804]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e1)) (e0)) = (op (op (e3) (e1)) (e0)))); [ zenon_intro zenon_H805 | zenon_intro zenon_H806 ]. % 47.72/47.87 cut (((op (op (e3) (e1)) (e0)) = (op (op (e3) (e1)) (e0))) = ((op (e5) (e0)) = (op (op (e3) (e1)) (e0)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H804. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H805. % 47.72/47.87 cut (((op (op (e3) (e1)) (e0)) = (op (op (e3) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H806]. % 47.72/47.87 cut (((op (op (e3) (e1)) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H807]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H80 zenon_H79). % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H806. apply refl_equal. % 47.72/47.87 apply zenon_H806. apply refl_equal. % 47.72/47.87 apply (zenon_L85_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H802); [ zenon_intro zenon_H809 | zenon_intro zenon_H808 ]. % 47.72/47.87 cut (((op (e5) (e1)) = (e3)) = ((op (op (e3) (e1)) (e1)) = (op (e3) (op (e1) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H809. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hd9. % 47.72/47.87 cut (((e3) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H227]. % 47.72/47.87 cut (((op (e5) (e1)) = (op (op (e3) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H80a]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e1)) (e1)) = (op (op (e3) (e1)) (e1)))); [ zenon_intro zenon_H80b | zenon_intro zenon_H80c ]. % 47.72/47.87 cut (((op (op (e3) (e1)) (e1)) = (op (op (e3) (e1)) (e1))) = ((op (e5) (e1)) = (op (op (e3) (e1)) (e1)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H80a. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H80b. % 47.72/47.87 cut (((op (op (e3) (e1)) (e1)) = (op (op (e3) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H80c]. % 47.72/47.87 cut (((op (op (e3) (e1)) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H80d]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H80 zenon_H79). % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H80c. apply refl_equal. % 47.72/47.87 apply zenon_H80c. apply refl_equal. % 47.72/47.87 apply (zenon_L86_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H808); [ zenon_intro zenon_H80f | zenon_intro zenon_H80e ]. % 47.72/47.87 cut (((op (e5) (e2)) = (e4)) = ((op (op (e3) (e1)) (e2)) = (op (e3) (op (e1) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H80f. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_He1. % 47.72/47.87 cut (((e4) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H22d]. % 47.72/47.87 cut (((op (e5) (e2)) = (op (op (e3) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H810]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e1)) (e2)) = (op (op (e3) (e1)) (e2)))); [ zenon_intro zenon_H811 | zenon_intro zenon_H812 ]. % 47.72/47.87 cut (((op (op (e3) (e1)) (e2)) = (op (op (e3) (e1)) (e2))) = ((op (e5) (e2)) = (op (op (e3) (e1)) (e2)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H810. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H811. % 47.72/47.87 cut (((op (op (e3) (e1)) (e2)) = (op (op (e3) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H812]. % 47.72/47.87 cut (((op (op (e3) (e1)) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H813]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H80 zenon_H79). % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H812. apply refl_equal. % 47.72/47.87 apply zenon_H812. apply refl_equal. % 47.72/47.87 apply (zenon_L87_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H80e); [ zenon_intro zenon_H815 | zenon_intro zenon_H814 ]. % 47.72/47.87 cut (((op (e5) (e3)) = (e1)) = ((op (op (e3) (e1)) (e3)) = (op (e3) (op (e1) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H815. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_He9. % 47.72/47.87 cut (((e1) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H233]. % 47.72/47.87 cut (((op (e5) (e3)) = (op (op (e3) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H816]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e1)) (e3)) = (op (op (e3) (e1)) (e3)))); [ zenon_intro zenon_H817 | zenon_intro zenon_H818 ]. % 47.72/47.87 cut (((op (op (e3) (e1)) (e3)) = (op (op (e3) (e1)) (e3))) = ((op (e5) (e3)) = (op (op (e3) (e1)) (e3)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H816. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H817. % 47.72/47.87 cut (((op (op (e3) (e1)) (e3)) = (op (op (e3) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H818]. % 47.72/47.87 cut (((op (op (e3) (e1)) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H819]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H80 zenon_H79). % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H818. apply refl_equal. % 47.72/47.87 apply zenon_H818. apply refl_equal. % 47.72/47.87 apply (zenon_L88_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H814); [ zenon_intro zenon_H81b | zenon_intro zenon_H81a ]. % 47.72/47.87 cut (((op (e5) (e4)) = (e2)) = ((op (op (e3) (e1)) (e4)) = (op (e3) (op (e1) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H81b. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hf1. % 47.72/47.87 cut (((e2) = (op (e3) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H239]. % 47.72/47.87 cut (((op (e5) (e4)) = (op (op (e3) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H81c]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e1)) (e4)) = (op (op (e3) (e1)) (e4)))); [ zenon_intro zenon_H81d | zenon_intro zenon_H81e ]. % 47.72/47.87 cut (((op (op (e3) (e1)) (e4)) = (op (op (e3) (e1)) (e4))) = ((op (e5) (e4)) = (op (op (e3) (e1)) (e4)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H81c. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H81d. % 47.72/47.87 cut (((op (op (e3) (e1)) (e4)) = (op (op (e3) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H81e]. % 47.72/47.87 cut (((op (op (e3) (e1)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H81f]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H80 zenon_H79). % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H81e. apply refl_equal. % 47.72/47.87 apply zenon_H81e. apply refl_equal. % 47.72/47.87 apply (zenon_L89_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H81a); [ zenon_intro zenon_H821 | zenon_intro zenon_H820 ]. % 47.72/47.87 cut (((op (e5) (e5)) = (e0)) = ((op (op (e3) (e1)) (e5)) = (op (e3) (op (e1) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H821. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hf9. % 47.72/47.87 cut (((e0) = (op (e3) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H23f]. % 47.72/47.87 cut (((op (e5) (e5)) = (op (op (e3) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H822]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e1)) (e5)) = (op (op (e3) (e1)) (e5)))); [ zenon_intro zenon_H823 | zenon_intro zenon_H824 ]. % 47.72/47.87 cut (((op (op (e3) (e1)) (e5)) = (op (op (e3) (e1)) (e5))) = ((op (e5) (e5)) = (op (op (e3) (e1)) (e5)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H822. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H823. % 47.72/47.87 cut (((op (op (e3) (e1)) (e5)) = (op (op (e3) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H824]. % 47.72/47.87 cut (((op (op (e3) (e1)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H825]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H80 zenon_H79). % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H824. apply refl_equal. % 47.72/47.87 apply zenon_H824. apply refl_equal. % 47.72/47.87 apply (zenon_L90_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H820); [ zenon_intro zenon_H827 | zenon_intro zenon_H826 ]. % 47.72/47.87 cut (((op (e1) (e0)) = (e1)) = ((op (op (e3) (e2)) (e0)) = (op (e3) (op (e2) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H827. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H9. % 47.72/47.87 cut (((e1) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H245]. % 47.72/47.87 cut (((op (e1) (e0)) = (op (op (e3) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H828]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e2)) (e0)) = (op (op (e3) (e2)) (e0)))); [ zenon_intro zenon_H829 | zenon_intro zenon_H82a ]. % 47.72/47.87 cut (((op (op (e3) (e2)) (e0)) = (op (op (e3) (e2)) (e0))) = ((op (e1) (e0)) = (op (op (e3) (e2)) (e0)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H828. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H829. % 47.72/47.87 cut (((op (op (e3) (e2)) (e0)) = (op (op (e3) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H82a]. % 47.72/47.87 cut (((op (op (e3) (e2)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H82b]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H88 zenon_H81). % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H82a. apply refl_equal. % 47.72/47.87 apply zenon_H82a. apply refl_equal. % 47.72/47.87 apply (zenon_L91_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H826); [ zenon_intro zenon_H82d | zenon_intro zenon_H82c ]. % 47.72/47.87 cut (((op (e1) (e1)) = (e0)) = ((op (op (e3) (e2)) (e1)) = (op (e3) (op (e2) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H82d. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H12. % 47.72/47.87 cut (((e0) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H24b]. % 47.72/47.87 cut (((op (e1) (e1)) = (op (op (e3) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H82e]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e2)) (e1)) = (op (op (e3) (e2)) (e1)))); [ zenon_intro zenon_H82f | zenon_intro zenon_H830 ]. % 47.72/47.87 cut (((op (op (e3) (e2)) (e1)) = (op (op (e3) (e2)) (e1))) = ((op (e1) (e1)) = (op (op (e3) (e2)) (e1)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H82e. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H82f. % 47.72/47.87 cut (((op (op (e3) (e2)) (e1)) = (op (op (e3) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H830]. % 47.72/47.87 cut (((op (op (e3) (e2)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H831]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H88 zenon_H81). % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H830. apply refl_equal. % 47.72/47.87 apply zenon_H830. apply refl_equal. % 47.72/47.87 apply (zenon_L92_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H82c); [ zenon_intro zenon_H833 | zenon_intro zenon_H832 ]. % 47.72/47.87 cut (((op (e1) (e2)) = (e3)) = ((op (op (e3) (e2)) (e2)) = (op (e3) (op (e2) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H833. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H1c. % 47.72/47.87 cut (((e3) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H251]. % 47.72/47.87 cut (((op (e1) (e2)) = (op (op (e3) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H834]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e2)) (e2)) = (op (op (e3) (e2)) (e2)))); [ zenon_intro zenon_H835 | zenon_intro zenon_H836 ]. % 47.72/47.87 cut (((op (op (e3) (e2)) (e2)) = (op (op (e3) (e2)) (e2))) = ((op (e1) (e2)) = (op (op (e3) (e2)) (e2)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H834. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H835. % 47.72/47.87 cut (((op (op (e3) (e2)) (e2)) = (op (op (e3) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H836]. % 47.72/47.87 cut (((op (op (e3) (e2)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H837]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H88 zenon_H81). % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H836. apply refl_equal. % 47.72/47.87 apply zenon_H836. apply refl_equal. % 47.72/47.87 apply (zenon_L93_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H832); [ zenon_intro zenon_H839 | zenon_intro zenon_H838 ]. % 47.72/47.87 cut (((op (e1) (e3)) = (e2)) = ((op (op (e3) (e2)) (e3)) = (op (e3) (op (e2) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H839. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H25. % 47.72/47.87 cut (((e2) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H257]. % 47.72/47.87 cut (((op (e1) (e3)) = (op (op (e3) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H83a]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e2)) (e3)) = (op (op (e3) (e2)) (e3)))); [ zenon_intro zenon_H83b | zenon_intro zenon_H83c ]. % 47.72/47.87 cut (((op (op (e3) (e2)) (e3)) = (op (op (e3) (e2)) (e3))) = ((op (e1) (e3)) = (op (op (e3) (e2)) (e3)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H83a. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H83b. % 47.72/47.87 cut (((op (op (e3) (e2)) (e3)) = (op (op (e3) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H83c]. % 47.72/47.87 cut (((op (op (e3) (e2)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H83d]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H88 zenon_H81). % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H83c. apply refl_equal. % 47.72/47.87 apply zenon_H83c. apply refl_equal. % 47.72/47.87 apply (zenon_L94_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H838); [ zenon_intro zenon_H83f | zenon_intro zenon_H83e ]. % 47.72/47.87 cut (((op (e1) (e4)) = (e5)) = ((op (op (e3) (e2)) (e4)) = (op (e3) (op (e2) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H83f. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H30. % 47.72/47.87 cut (((e5) = (op (e3) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H25d]. % 47.72/47.87 cut (((op (e1) (e4)) = (op (op (e3) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H840]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e2)) (e4)) = (op (op (e3) (e2)) (e4)))); [ zenon_intro zenon_H841 | zenon_intro zenon_H842 ]. % 47.72/47.87 cut (((op (op (e3) (e2)) (e4)) = (op (op (e3) (e2)) (e4))) = ((op (e1) (e4)) = (op (op (e3) (e2)) (e4)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H840. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H841. % 47.72/47.87 cut (((op (op (e3) (e2)) (e4)) = (op (op (e3) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H842]. % 47.72/47.87 cut (((op (op (e3) (e2)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H843]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H88 zenon_H81). % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H842. apply refl_equal. % 47.72/47.87 apply zenon_H842. apply refl_equal. % 47.72/47.87 apply (zenon_L95_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H83e); [ zenon_intro zenon_H845 | zenon_intro zenon_H844 ]. % 47.72/47.87 cut (((op (e1) (e5)) = (e4)) = ((op (op (e3) (e2)) (e5)) = (op (e3) (op (e2) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H845. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H39. % 47.72/47.87 cut (((e4) = (op (e3) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H263]. % 47.72/47.87 cut (((op (e1) (e5)) = (op (op (e3) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H846]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e2)) (e5)) = (op (op (e3) (e2)) (e5)))); [ zenon_intro zenon_H847 | zenon_intro zenon_H848 ]. % 47.72/47.87 cut (((op (op (e3) (e2)) (e5)) = (op (op (e3) (e2)) (e5))) = ((op (e1) (e5)) = (op (op (e3) (e2)) (e5)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H846. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H847. % 47.72/47.87 cut (((op (op (e3) (e2)) (e5)) = (op (op (e3) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H848]. % 47.72/47.87 cut (((op (op (e3) (e2)) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H849]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H88 zenon_H81). % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H848. apply refl_equal. % 47.72/47.87 apply zenon_H848. apply refl_equal. % 47.72/47.87 apply (zenon_L96_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H844); [ zenon_intro zenon_H84b | zenon_intro zenon_H84a ]. % 47.72/47.87 cut (((op (e4) (e0)) = (e4)) = ((op (op (e3) (e3)) (e0)) = (op (e3) (op (e3) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H84b. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Ha1. % 47.72/47.87 cut (((e4) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H269]. % 47.72/47.87 cut (((op (e4) (e0)) = (op (op (e3) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H84c]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e3)) (e0)) = (op (op (e3) (e3)) (e0)))); [ zenon_intro zenon_H84d | zenon_intro zenon_H84e ]. % 47.72/47.87 cut (((op (op (e3) (e3)) (e0)) = (op (op (e3) (e3)) (e0))) = ((op (e4) (e0)) = (op (op (e3) (e3)) (e0)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H84c. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H84d. % 47.72/47.87 cut (((op (op (e3) (e3)) (e0)) = (op (op (e3) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H84e]. % 47.72/47.87 cut (((op (op (e3) (e3)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H84f]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e3) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H90 zenon_H89). % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H84e. apply refl_equal. % 47.72/47.87 apply zenon_H84e. apply refl_equal. % 47.72/47.87 apply (zenon_L97_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H84a); [ zenon_intro zenon_H851 | zenon_intro zenon_H850 ]. % 47.72/47.87 cut (((op (e4) (e1)) = (e2)) = ((op (op (e3) (e3)) (e1)) = (op (e3) (op (e3) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H851. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Ha9. % 47.72/47.87 cut (((e2) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H26f]. % 47.72/47.87 cut (((op (e4) (e1)) = (op (op (e3) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H852]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e3)) (e1)) = (op (op (e3) (e3)) (e1)))); [ zenon_intro zenon_H853 | zenon_intro zenon_H854 ]. % 47.72/47.87 cut (((op (op (e3) (e3)) (e1)) = (op (op (e3) (e3)) (e1))) = ((op (e4) (e1)) = (op (op (e3) (e3)) (e1)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H852. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H853. % 47.72/47.87 cut (((op (op (e3) (e3)) (e1)) = (op (op (e3) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H854]. % 47.72/47.87 cut (((op (op (e3) (e3)) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H855]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e3) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H90 zenon_H89). % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H854. apply refl_equal. % 47.72/47.87 apply zenon_H854. apply refl_equal. % 47.72/47.87 apply (zenon_L98_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H850); [ zenon_intro zenon_H857 | zenon_intro zenon_H856 ]. % 47.72/47.87 cut (((op (e4) (e2)) = (e5)) = ((op (op (e3) (e3)) (e2)) = (op (e3) (op (e3) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H857. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hb1. % 47.72/47.87 cut (((e5) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H275]. % 47.72/47.87 cut (((op (e4) (e2)) = (op (op (e3) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H858]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e3)) (e2)) = (op (op (e3) (e3)) (e2)))); [ zenon_intro zenon_H859 | zenon_intro zenon_H85a ]. % 47.72/47.87 cut (((op (op (e3) (e3)) (e2)) = (op (op (e3) (e3)) (e2))) = ((op (e4) (e2)) = (op (op (e3) (e3)) (e2)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H858. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H859. % 47.72/47.87 cut (((op (op (e3) (e3)) (e2)) = (op (op (e3) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H85a]. % 47.72/47.87 cut (((op (op (e3) (e3)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H85b]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e3) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H90 zenon_H89). % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H85a. apply refl_equal. % 47.72/47.87 apply zenon_H85a. apply refl_equal. % 47.72/47.87 apply (zenon_L99_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H856); [ zenon_intro zenon_H85d | zenon_intro zenon_H85c ]. % 47.72/47.87 cut (((op (e4) (e3)) = (e0)) = ((op (op (e3) (e3)) (e3)) = (op (e3) (op (e3) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H85d. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hb9. % 47.72/47.87 cut (((e0) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H27b]. % 47.72/47.87 cut (((op (e4) (e3)) = (op (op (e3) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H85e]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e3)) (e3)) = (op (op (e3) (e3)) (e3)))); [ zenon_intro zenon_H85f | zenon_intro zenon_H860 ]. % 47.72/47.87 cut (((op (op (e3) (e3)) (e3)) = (op (op (e3) (e3)) (e3))) = ((op (e4) (e3)) = (op (op (e3) (e3)) (e3)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H85e. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H85f. % 47.72/47.87 cut (((op (op (e3) (e3)) (e3)) = (op (op (e3) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H860]. % 47.72/47.87 cut (((op (op (e3) (e3)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H861]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e3) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H90 zenon_H89). % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H860. apply refl_equal. % 47.72/47.87 apply zenon_H860. apply refl_equal. % 47.72/47.87 apply (zenon_L100_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H85c); [ zenon_intro zenon_H863 | zenon_intro zenon_H862 ]. % 47.72/47.87 cut (((op (e4) (e4)) = (e3)) = ((op (op (e3) (e3)) (e4)) = (op (e3) (op (e3) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H863. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hc1. % 47.72/47.87 cut (((e3) = (op (e3) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H281]. % 47.72/47.87 cut (((op (e4) (e4)) = (op (op (e3) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H864]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e3)) (e4)) = (op (op (e3) (e3)) (e4)))); [ zenon_intro zenon_H865 | zenon_intro zenon_H866 ]. % 47.72/47.87 cut (((op (op (e3) (e3)) (e4)) = (op (op (e3) (e3)) (e4))) = ((op (e4) (e4)) = (op (op (e3) (e3)) (e4)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H864. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H865. % 47.72/47.87 cut (((op (op (e3) (e3)) (e4)) = (op (op (e3) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H866]. % 47.72/47.87 cut (((op (op (e3) (e3)) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H867]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e3) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H90 zenon_H89). % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H866. apply refl_equal. % 47.72/47.87 apply zenon_H866. apply refl_equal. % 47.72/47.87 apply (zenon_L101_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H862); [ zenon_intro zenon_H869 | zenon_intro zenon_H868 ]. % 47.72/47.87 cut (((op (e4) (e5)) = (e1)) = ((op (op (e3) (e3)) (e5)) = (op (e3) (op (e3) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H869. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hc9. % 47.72/47.87 cut (((e1) = (op (e3) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H287]. % 47.72/47.87 cut (((op (e4) (e5)) = (op (op (e3) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H86a]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e3)) (e5)) = (op (op (e3) (e3)) (e5)))); [ zenon_intro zenon_H86b | zenon_intro zenon_H86c ]. % 47.72/47.87 cut (((op (op (e3) (e3)) (e5)) = (op (op (e3) (e3)) (e5))) = ((op (e4) (e5)) = (op (op (e3) (e3)) (e5)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H86a. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H86b. % 47.72/47.87 cut (((op (op (e3) (e3)) (e5)) = (op (op (e3) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H86c]. % 47.72/47.87 cut (((op (op (e3) (e3)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H86d]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e3) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H90 zenon_H89). % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H86c. apply refl_equal. % 47.72/47.87 apply zenon_H86c. apply refl_equal. % 47.72/47.87 apply (zenon_L102_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H868); [ zenon_intro zenon_H86f | zenon_intro zenon_H86e ]. % 47.72/47.87 cut (((op (e0) (e0)) = (e0)) = ((op (op (e3) (e4)) (e0)) = (op (e3) (op (e4) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H86f. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H11. % 47.72/47.87 cut (((e0) = (op (e3) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H870]. % 47.72/47.87 cut (((op (e0) (e0)) = (op (op (e3) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H871]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e4)) (e0)) = (op (op (e3) (e4)) (e0)))); [ zenon_intro zenon_H872 | zenon_intro zenon_H873 ]. % 47.72/47.87 cut (((op (op (e3) (e4)) (e0)) = (op (op (e3) (e4)) (e0))) = ((op (e0) (e0)) = (op (op (e3) (e4)) (e0)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H871. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H872. % 47.72/47.87 cut (((op (op (e3) (e4)) (e0)) = (op (op (e3) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H873]. % 47.72/47.87 cut (((op (op (e3) (e4)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H874]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e3) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H98 zenon_H91). % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H873. apply refl_equal. % 47.72/47.87 apply zenon_H873. apply refl_equal. % 47.72/47.87 elim (classic ((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0))))); [ zenon_intro zenon_H875 | zenon_intro zenon_H876 ]. % 47.72/47.87 cut (((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0)))) = ((e0) = (op (e3) (op (e4) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H870. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H875. % 47.72/47.87 cut (((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H876]. % 47.72/47.87 cut (((op (e3) (op (e4) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H877]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e3) (e4)) = (e0)) = ((op (e3) (op (e4) (e0))) = (e0))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H877. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H91. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e3) (e4)) = (op (e3) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H878]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0))))); [ zenon_intro zenon_H875 | zenon_intro zenon_H876 ]. % 47.72/47.87 cut (((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0)))) = ((op (e3) (e4)) = (op (e3) (op (e4) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H878. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H875. % 47.72/47.87 cut (((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H876]. % 47.72/47.87 cut (((op (e3) (op (e4) (e0))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H879]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 congruence. % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 exact (zenon_Ha8 zenon_Ha1). % 47.72/47.87 apply zenon_H876. apply refl_equal. % 47.72/47.87 apply zenon_H876. apply refl_equal. % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H876. apply refl_equal. % 47.72/47.87 apply zenon_H876. apply refl_equal. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H86e); [ zenon_intro zenon_H87b | zenon_intro zenon_H87a ]. % 47.72/47.87 cut (((op (e0) (e1)) = (e1)) = ((op (op (e3) (e4)) (e1)) = (op (e3) (op (e4) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H87b. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8. % 47.72/47.87 cut (((e1) = (op (e3) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H87c]. % 47.72/47.87 cut (((op (e0) (e1)) = (op (op (e3) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H87d]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e4)) (e1)) = (op (op (e3) (e4)) (e1)))); [ zenon_intro zenon_H87e | zenon_intro zenon_H87f ]. % 47.72/47.87 cut (((op (op (e3) (e4)) (e1)) = (op (op (e3) (e4)) (e1))) = ((op (e0) (e1)) = (op (op (e3) (e4)) (e1)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H87d. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H87e. % 47.72/47.87 cut (((op (op (e3) (e4)) (e1)) = (op (op (e3) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H87f]. % 47.72/47.87 cut (((op (op (e3) (e4)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H880]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e3) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H98 zenon_H91). % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H87f. apply refl_equal. % 47.72/47.87 apply zenon_H87f. apply refl_equal. % 47.72/47.87 elim (classic ((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1))))); [ zenon_intro zenon_H881 | zenon_intro zenon_H882 ]. % 47.72/47.87 cut (((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1)))) = ((e1) = (op (e3) (op (e4) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H87c. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H881. % 47.72/47.87 cut (((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H882]. % 47.72/47.87 cut (((op (e3) (op (e4) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H883]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e3) (e2)) = (e1)) = ((op (e3) (op (e4) (e1))) = (e1))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H883. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H81. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e3) (e2)) = (op (e3) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H884]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1))))); [ zenon_intro zenon_H881 | zenon_intro zenon_H882 ]. % 47.72/47.87 cut (((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1)))) = ((op (e3) (e2)) = (op (e3) (op (e4) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H884. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H881. % 47.72/47.87 cut (((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H882]. % 47.72/47.87 cut (((op (e3) (op (e4) (e1))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H885]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 congruence. % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 exact (zenon_Hb0 zenon_Ha9). % 47.72/47.87 apply zenon_H882. apply refl_equal. % 47.72/47.87 apply zenon_H882. apply refl_equal. % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H882. apply refl_equal. % 47.72/47.87 apply zenon_H882. apply refl_equal. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H87a); [ zenon_intro zenon_H887 | zenon_intro zenon_H886 ]. % 47.72/47.87 cut (((op (e0) (e2)) = (e2)) = ((op (op (e3) (e4)) (e2)) = (op (e3) (op (e4) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H887. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H24. % 47.72/47.87 cut (((e2) = (op (e3) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H888]. % 47.72/47.87 cut (((op (e0) (e2)) = (op (op (e3) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H889]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e4)) (e2)) = (op (op (e3) (e4)) (e2)))); [ zenon_intro zenon_H88a | zenon_intro zenon_H88b ]. % 47.72/47.87 cut (((op (op (e3) (e4)) (e2)) = (op (op (e3) (e4)) (e2))) = ((op (e0) (e2)) = (op (op (e3) (e4)) (e2)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H889. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H88a. % 47.72/47.87 cut (((op (op (e3) (e4)) (e2)) = (op (op (e3) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H88b]. % 47.72/47.87 cut (((op (op (e3) (e4)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H88c]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e3) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H98 zenon_H91). % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H88b. apply refl_equal. % 47.72/47.87 apply zenon_H88b. apply refl_equal. % 47.72/47.87 elim (classic ((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2))))); [ zenon_intro zenon_H88d | zenon_intro zenon_H88e ]. % 47.72/47.87 cut (((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2)))) = ((e2) = (op (e3) (op (e4) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H888. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H88d. % 47.72/47.87 cut (((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H88e]. % 47.72/47.87 cut (((op (e3) (op (e4) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H88f]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e3) (e5)) = (e2)) = ((op (e3) (op (e4) (e2))) = (e2))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H88f. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H99. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e3) (e5)) = (op (e3) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H890]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2))))); [ zenon_intro zenon_H88d | zenon_intro zenon_H88e ]. % 47.72/47.87 cut (((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2)))) = ((op (e3) (e5)) = (op (e3) (op (e4) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H890. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H88d. % 47.72/47.87 cut (((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H88e]. % 47.72/47.87 cut (((op (e3) (op (e4) (e2))) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H891]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 congruence. % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 exact (zenon_Hb8 zenon_Hb1). % 47.72/47.87 apply zenon_H88e. apply refl_equal. % 47.72/47.87 apply zenon_H88e. apply refl_equal. % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H88e. apply refl_equal. % 47.72/47.87 apply zenon_H88e. apply refl_equal. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H886); [ zenon_intro zenon_H893 | zenon_intro zenon_H892 ]. % 47.72/47.87 cut (((op (e0) (e3)) = (e3)) = ((op (op (e3) (e4)) (e3)) = (op (e3) (op (e4) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H893. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H1b. % 47.72/47.87 cut (((e3) = (op (e3) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H894]. % 47.72/47.87 cut (((op (e0) (e3)) = (op (op (e3) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H895]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e4)) (e3)) = (op (op (e3) (e4)) (e3)))); [ zenon_intro zenon_H896 | zenon_intro zenon_H897 ]. % 47.72/47.87 cut (((op (op (e3) (e4)) (e3)) = (op (op (e3) (e4)) (e3))) = ((op (e0) (e3)) = (op (op (e3) (e4)) (e3)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H895. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H896. % 47.72/47.87 cut (((op (op (e3) (e4)) (e3)) = (op (op (e3) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H897]. % 47.72/47.87 cut (((op (op (e3) (e4)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H898]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e3) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H98 zenon_H91). % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H897. apply refl_equal. % 47.72/47.87 apply zenon_H897. apply refl_equal. % 47.72/47.87 elim (classic ((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3))))); [ zenon_intro zenon_H899 | zenon_intro zenon_H89a ]. % 47.72/47.87 cut (((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3)))) = ((e3) = (op (e3) (op (e4) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H894. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H899. % 47.72/47.87 cut (((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H89a]. % 47.72/47.87 cut (((op (e3) (op (e4) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H89b]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e4) (e3))) = (e3))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H89b. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H71. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e3) (e0)) = (op (e3) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H89c]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3))))); [ zenon_intro zenon_H899 | zenon_intro zenon_H89a ]. % 47.72/47.87 cut (((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3)))) = ((op (e3) (e0)) = (op (e3) (op (e4) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H89c. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H899. % 47.72/47.87 cut (((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H89a]. % 47.72/47.87 cut (((op (e3) (op (e4) (e3))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H89d]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e4) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 congruence. % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 exact (zenon_Hc0 zenon_Hb9). % 47.72/47.87 apply zenon_H89a. apply refl_equal. % 47.72/47.87 apply zenon_H89a. apply refl_equal. % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H89a. apply refl_equal. % 47.72/47.87 apply zenon_H89a. apply refl_equal. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H892); [ zenon_intro zenon_H89f | zenon_intro zenon_H89e ]. % 47.72/47.87 cut (((op (e0) (e4)) = (e4)) = ((op (op (e3) (e4)) (e4)) = (op (e3) (op (e4) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H89f. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H38. % 47.72/47.87 cut (((e4) = (op (e3) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H8a0]. % 47.72/47.87 cut (((op (e0) (e4)) = (op (op (e3) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8a1]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e4)) (e4)) = (op (op (e3) (e4)) (e4)))); [ zenon_intro zenon_H8a2 | zenon_intro zenon_H8a3 ]. % 47.72/47.87 cut (((op (op (e3) (e4)) (e4)) = (op (op (e3) (e4)) (e4))) = ((op (e0) (e4)) = (op (op (e3) (e4)) (e4)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8a1. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8a2. % 47.72/47.87 cut (((op (op (e3) (e4)) (e4)) = (op (op (e3) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8a3]. % 47.72/47.87 cut (((op (op (e3) (e4)) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8a4]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e3) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H98 zenon_H91). % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H8a3. apply refl_equal. % 47.72/47.87 apply zenon_H8a3. apply refl_equal. % 47.72/47.87 elim (classic ((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4))))); [ zenon_intro zenon_H8a5 | zenon_intro zenon_H8a6 ]. % 47.72/47.87 cut (((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4)))) = ((e4) = (op (e3) (op (e4) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8a0. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8a5. % 47.72/47.87 cut (((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H8a6]. % 47.72/47.87 cut (((op (e3) (op (e4) (e4))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H8a7]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e3) (e3)) = (e4)) = ((op (e3) (op (e4) (e4))) = (e4))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8a7. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H89. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e3) (e3)) = (op (e3) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H8a8]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4))))); [ zenon_intro zenon_H8a5 | zenon_intro zenon_H8a6 ]. % 47.72/47.87 cut (((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4)))) = ((op (e3) (e3)) = (op (e3) (op (e4) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8a8. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8a5. % 47.72/47.87 cut (((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H8a6]. % 47.72/47.87 cut (((op (e3) (op (e4) (e4))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8a9]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 congruence. % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 exact (zenon_Hc8 zenon_Hc1). % 47.72/47.87 apply zenon_H8a6. apply refl_equal. % 47.72/47.87 apply zenon_H8a6. apply refl_equal. % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H8a6. apply refl_equal. % 47.72/47.87 apply zenon_H8a6. apply refl_equal. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H89e); [ zenon_intro zenon_H8ab | zenon_intro zenon_H8aa ]. % 47.72/47.87 cut (((op (e0) (e5)) = (e5)) = ((op (op (e3) (e4)) (e5)) = (op (e3) (op (e4) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8ab. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H2f. % 47.72/47.87 cut (((e5) = (op (e3) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H8ac]. % 47.72/47.87 cut (((op (e0) (e5)) = (op (op (e3) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8ad]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e4)) (e5)) = (op (op (e3) (e4)) (e5)))); [ zenon_intro zenon_H8ae | zenon_intro zenon_H8af ]. % 47.72/47.87 cut (((op (op (e3) (e4)) (e5)) = (op (op (e3) (e4)) (e5))) = ((op (e0) (e5)) = (op (op (e3) (e4)) (e5)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8ad. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8ae. % 47.72/47.87 cut (((op (op (e3) (e4)) (e5)) = (op (op (e3) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8af]. % 47.72/47.87 cut (((op (op (e3) (e4)) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8b0]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e3) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_H98 zenon_H91). % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H8af. apply refl_equal. % 47.72/47.87 apply zenon_H8af. apply refl_equal. % 47.72/47.87 elim (classic ((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5))))); [ zenon_intro zenon_H8b1 | zenon_intro zenon_H8b2 ]. % 47.72/47.87 cut (((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5)))) = ((e5) = (op (e3) (op (e4) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8ac. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8b1. % 47.72/47.87 cut (((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H8b2]. % 47.72/47.87 cut (((op (e3) (op (e4) (e5))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H8b3]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e3) (e1)) = (e5)) = ((op (e3) (op (e4) (e5))) = (e5))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8b3. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H79. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e3) (e1)) = (op (e3) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H8b4]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5))))); [ zenon_intro zenon_H8b1 | zenon_intro zenon_H8b2 ]. % 47.72/47.87 cut (((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5)))) = ((op (e3) (e1)) = (op (e3) (op (e4) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8b4. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8b1. % 47.72/47.87 cut (((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H8b2]. % 47.72/47.87 cut (((op (e3) (op (e4) (e5))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8b5]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e4) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 congruence. % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 exact (zenon_Hd0 zenon_Hc9). % 47.72/47.87 apply zenon_H8b2. apply refl_equal. % 47.72/47.87 apply zenon_H8b2. apply refl_equal. % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H8b2. apply refl_equal. % 47.72/47.87 apply zenon_H8b2. apply refl_equal. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8aa); [ zenon_intro zenon_H8b7 | zenon_intro zenon_H8b6 ]. % 47.72/47.87 cut (((op (e2) (e0)) = (e2)) = ((op (op (e3) (e5)) (e0)) = (op (e3) (op (e5) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8b7. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H41. % 47.72/47.87 cut (((e2) = (op (e3) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H28d]. % 47.72/47.87 cut (((op (e2) (e0)) = (op (op (e3) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8b8]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e5)) (e0)) = (op (op (e3) (e5)) (e0)))); [ zenon_intro zenon_H8b9 | zenon_intro zenon_H8ba ]. % 47.72/47.87 cut (((op (op (e3) (e5)) (e0)) = (op (op (e3) (e5)) (e0))) = ((op (e2) (e0)) = (op (op (e3) (e5)) (e0)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8b8. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8b9. % 47.72/47.87 cut (((op (op (e3) (e5)) (e0)) = (op (op (e3) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8ba]. % 47.72/47.87 cut (((op (op (e3) (e5)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8bb]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e3) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Ha0 zenon_H99). % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H8ba. apply refl_equal. % 47.72/47.87 apply zenon_H8ba. apply refl_equal. % 47.72/47.87 apply (zenon_L103_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8b6); [ zenon_intro zenon_H8bd | zenon_intro zenon_H8bc ]. % 47.72/47.87 cut (((op (e2) (e1)) = (e4)) = ((op (op (e3) (e5)) (e1)) = (op (e3) (op (e5) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8bd. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H49. % 47.72/47.87 cut (((e4) = (op (e3) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H293]. % 47.72/47.87 cut (((op (e2) (e1)) = (op (op (e3) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8be]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e5)) (e1)) = (op (op (e3) (e5)) (e1)))); [ zenon_intro zenon_H8bf | zenon_intro zenon_H8c0 ]. % 47.72/47.87 cut (((op (op (e3) (e5)) (e1)) = (op (op (e3) (e5)) (e1))) = ((op (e2) (e1)) = (op (op (e3) (e5)) (e1)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8be. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8bf. % 47.72/47.87 cut (((op (op (e3) (e5)) (e1)) = (op (op (e3) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8c0]. % 47.72/47.87 cut (((op (op (e3) (e5)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8c1]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e3) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Ha0 zenon_H99). % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H8c0. apply refl_equal. % 47.72/47.87 apply zenon_H8c0. apply refl_equal. % 47.72/47.87 apply (zenon_L104_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8bc); [ zenon_intro zenon_H8c3 | zenon_intro zenon_H8c2 ]. % 47.72/47.87 cut (((op (e2) (e2)) = (e0)) = ((op (op (e3) (e5)) (e2)) = (op (e3) (op (e5) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8c3. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H51. % 47.72/47.87 cut (((e0) = (op (e3) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H299]. % 47.72/47.87 cut (((op (e2) (e2)) = (op (op (e3) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8c4]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e5)) (e2)) = (op (op (e3) (e5)) (e2)))); [ zenon_intro zenon_H8c5 | zenon_intro zenon_H8c6 ]. % 47.72/47.87 cut (((op (op (e3) (e5)) (e2)) = (op (op (e3) (e5)) (e2))) = ((op (e2) (e2)) = (op (op (e3) (e5)) (e2)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8c4. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8c5. % 47.72/47.87 cut (((op (op (e3) (e5)) (e2)) = (op (op (e3) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8c6]. % 47.72/47.87 cut (((op (op (e3) (e5)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8c7]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e3) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Ha0 zenon_H99). % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H8c6. apply refl_equal. % 47.72/47.87 apply zenon_H8c6. apply refl_equal. % 47.72/47.87 apply (zenon_L105_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8c2); [ zenon_intro zenon_H8c9 | zenon_intro zenon_H8c8 ]. % 47.72/47.87 cut (((op (e2) (e3)) = (e5)) = ((op (op (e3) (e5)) (e3)) = (op (e3) (op (e5) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8c9. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H59. % 47.72/47.87 cut (((e5) = (op (e3) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H29f]. % 47.72/47.87 cut (((op (e2) (e3)) = (op (op (e3) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8ca]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e5)) (e3)) = (op (op (e3) (e5)) (e3)))); [ zenon_intro zenon_H8cb | zenon_intro zenon_H8cc ]. % 47.72/47.87 cut (((op (op (e3) (e5)) (e3)) = (op (op (e3) (e5)) (e3))) = ((op (e2) (e3)) = (op (op (e3) (e5)) (e3)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8ca. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8cb. % 47.72/47.87 cut (((op (op (e3) (e5)) (e3)) = (op (op (e3) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8cc]. % 47.72/47.87 cut (((op (op (e3) (e5)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8cd]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e3) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Ha0 zenon_H99). % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H8cc. apply refl_equal. % 47.72/47.87 apply zenon_H8cc. apply refl_equal. % 47.72/47.87 apply (zenon_L106_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8c8); [ zenon_intro zenon_H8cf | zenon_intro zenon_H8ce ]. % 47.72/47.87 cut (((op (e2) (e4)) = (e1)) = ((op (op (e3) (e5)) (e4)) = (op (e3) (op (e5) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8cf. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H61. % 47.72/47.87 cut (((e1) = (op (e3) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2a5]. % 47.72/47.87 cut (((op (e2) (e4)) = (op (op (e3) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8d0]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e5)) (e4)) = (op (op (e3) (e5)) (e4)))); [ zenon_intro zenon_H8d1 | zenon_intro zenon_H8d2 ]. % 47.72/47.87 cut (((op (op (e3) (e5)) (e4)) = (op (op (e3) (e5)) (e4))) = ((op (e2) (e4)) = (op (op (e3) (e5)) (e4)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8d0. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8d1. % 47.72/47.87 cut (((op (op (e3) (e5)) (e4)) = (op (op (e3) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8d2]. % 47.72/47.87 cut (((op (op (e3) (e5)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8d3]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e3) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Ha0 zenon_H99). % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H8d2. apply refl_equal. % 47.72/47.87 apply zenon_H8d2. apply refl_equal. % 47.72/47.87 apply (zenon_L107_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8ce); [ zenon_intro zenon_H8d5 | zenon_intro zenon_H8d4 ]. % 47.72/47.87 cut (((op (e2) (e5)) = (e3)) = ((op (op (e3) (e5)) (e5)) = (op (e3) (op (e5) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8d5. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H69. % 47.72/47.87 cut (((e3) = (op (e3) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2ab]. % 47.72/47.87 cut (((op (e2) (e5)) = (op (op (e3) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8d6]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e3) (e5)) (e5)) = (op (op (e3) (e5)) (e5)))); [ zenon_intro zenon_H8d7 | zenon_intro zenon_H8d8 ]. % 47.72/47.87 cut (((op (op (e3) (e5)) (e5)) = (op (op (e3) (e5)) (e5))) = ((op (e2) (e5)) = (op (op (e3) (e5)) (e5)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8d6. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8d7. % 47.72/47.87 cut (((op (op (e3) (e5)) (e5)) = (op (op (e3) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8d8]. % 47.72/47.87 cut (((op (op (e3) (e5)) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8d9]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e3) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Ha0 zenon_H99). % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H8d8. apply refl_equal. % 47.72/47.87 apply zenon_H8d8. apply refl_equal. % 47.72/47.87 apply (zenon_L108_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8d4); [ zenon_intro zenon_H8db | zenon_intro zenon_H8da ]. % 47.72/47.87 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H56a]. % 47.72/47.87 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Ha8 zenon_Ha1). % 47.72/47.87 apply zenon_H56a. apply sym_equal. exact zenon_H11. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8da); [ zenon_intro zenon_H8dd | zenon_intro zenon_H8dc ]. % 47.72/47.87 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H56d]. % 47.72/47.87 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Ha8 zenon_Ha1). % 47.72/47.87 apply zenon_H56d. apply sym_equal. exact zenon_H8. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8dc); [ zenon_intro zenon_H8df | zenon_intro zenon_H8de ]. % 47.72/47.87 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H570]. % 47.72/47.87 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Ha8 zenon_Ha1). % 47.72/47.87 apply zenon_H570. apply sym_equal. exact zenon_H24. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8de); [ zenon_intro zenon_H8e1 | zenon_intro zenon_H8e0 ]. % 47.72/47.87 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H573]. % 47.72/47.87 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Ha8 zenon_Ha1). % 47.72/47.87 apply zenon_H573. apply sym_equal. exact zenon_H1b. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8e0); [ zenon_intro zenon_H8e3 | zenon_intro zenon_H8e2 ]. % 47.72/47.87 cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H576]. % 47.72/47.87 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Ha8 zenon_Ha1). % 47.72/47.87 apply zenon_H576. apply sym_equal. exact zenon_H38. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8e2); [ zenon_intro zenon_H8e5 | zenon_intro zenon_H8e4 ]. % 47.72/47.87 cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H579]. % 47.72/47.87 cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Ha8 zenon_Ha1). % 47.72/47.87 apply zenon_H579. apply sym_equal. exact zenon_H2f. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8e4); [ zenon_intro zenon_H8e7 | zenon_intro zenon_H8e6 ]. % 47.72/47.87 cut (((op (e2) (e0)) = (e2)) = ((op (op (e4) (e1)) (e0)) = (op (e4) (op (e1) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8e7. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H41. % 47.72/47.87 cut (((e2) = (op (e4) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2b1]. % 47.72/47.87 cut (((op (e2) (e0)) = (op (op (e4) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8e8]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e1)) (e0)) = (op (op (e4) (e1)) (e0)))); [ zenon_intro zenon_H8e9 | zenon_intro zenon_H8ea ]. % 47.72/47.87 cut (((op (op (e4) (e1)) (e0)) = (op (op (e4) (e1)) (e0))) = ((op (e2) (e0)) = (op (op (e4) (e1)) (e0)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8e8. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8e9. % 47.72/47.87 cut (((op (op (e4) (e1)) (e0)) = (op (op (e4) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8ea]. % 47.72/47.87 cut (((op (op (e4) (e1)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8eb]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Hb0 zenon_Ha9). % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H8ea. apply refl_equal. % 47.72/47.87 apply zenon_H8ea. apply refl_equal. % 47.72/47.87 apply (zenon_L109_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8e6); [ zenon_intro zenon_H8ed | zenon_intro zenon_H8ec ]. % 47.72/47.87 cut (((op (e2) (e1)) = (e4)) = ((op (op (e4) (e1)) (e1)) = (op (e4) (op (e1) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8ed. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H49. % 47.72/47.87 cut (((e4) = (op (e4) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2b7]. % 47.72/47.87 cut (((op (e2) (e1)) = (op (op (e4) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8ee]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e1)) (e1)) = (op (op (e4) (e1)) (e1)))); [ zenon_intro zenon_H8ef | zenon_intro zenon_H8f0 ]. % 47.72/47.87 cut (((op (op (e4) (e1)) (e1)) = (op (op (e4) (e1)) (e1))) = ((op (e2) (e1)) = (op (op (e4) (e1)) (e1)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8ee. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8ef. % 47.72/47.87 cut (((op (op (e4) (e1)) (e1)) = (op (op (e4) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8f0]. % 47.72/47.87 cut (((op (op (e4) (e1)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8f1]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Hb0 zenon_Ha9). % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H8f0. apply refl_equal. % 47.72/47.87 apply zenon_H8f0. apply refl_equal. % 47.72/47.87 apply (zenon_L110_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8ec); [ zenon_intro zenon_H8f3 | zenon_intro zenon_H8f2 ]. % 47.72/47.87 cut (((op (e2) (e2)) = (e0)) = ((op (op (e4) (e1)) (e2)) = (op (e4) (op (e1) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8f3. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H51. % 47.72/47.87 cut (((e0) = (op (e4) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2bd]. % 47.72/47.87 cut (((op (e2) (e2)) = (op (op (e4) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8f4]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e1)) (e2)) = (op (op (e4) (e1)) (e2)))); [ zenon_intro zenon_H8f5 | zenon_intro zenon_H8f6 ]. % 47.72/47.87 cut (((op (op (e4) (e1)) (e2)) = (op (op (e4) (e1)) (e2))) = ((op (e2) (e2)) = (op (op (e4) (e1)) (e2)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8f4. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8f5. % 47.72/47.87 cut (((op (op (e4) (e1)) (e2)) = (op (op (e4) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8f6]. % 47.72/47.87 cut (((op (op (e4) (e1)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8f7]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Hb0 zenon_Ha9). % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H8f6. apply refl_equal. % 47.72/47.87 apply zenon_H8f6. apply refl_equal. % 47.72/47.87 apply (zenon_L111_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8f2); [ zenon_intro zenon_H8f9 | zenon_intro zenon_H8f8 ]. % 47.72/47.87 cut (((op (e2) (e3)) = (e5)) = ((op (op (e4) (e1)) (e3)) = (op (e4) (op (e1) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8f9. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H59. % 47.72/47.87 cut (((e5) = (op (e4) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2c3]. % 47.72/47.87 cut (((op (e2) (e3)) = (op (op (e4) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8fa]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e1)) (e3)) = (op (op (e4) (e1)) (e3)))); [ zenon_intro zenon_H8fb | zenon_intro zenon_H8fc ]. % 47.72/47.87 cut (((op (op (e4) (e1)) (e3)) = (op (op (e4) (e1)) (e3))) = ((op (e2) (e3)) = (op (op (e4) (e1)) (e3)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8fa. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8fb. % 47.72/47.87 cut (((op (op (e4) (e1)) (e3)) = (op (op (e4) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8fc]. % 47.72/47.87 cut (((op (op (e4) (e1)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8fd]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Hb0 zenon_Ha9). % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H8fc. apply refl_equal. % 47.72/47.87 apply zenon_H8fc. apply refl_equal. % 47.72/47.87 apply (zenon_L112_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8f8); [ zenon_intro zenon_H8ff | zenon_intro zenon_H8fe ]. % 47.72/47.87 cut (((op (e2) (e4)) = (e1)) = ((op (op (e4) (e1)) (e4)) = (op (e4) (op (e1) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H8ff. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H61. % 47.72/47.87 cut (((e1) = (op (e4) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2c9]. % 47.72/47.87 cut (((op (e2) (e4)) = (op (op (e4) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H900]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e1)) (e4)) = (op (op (e4) (e1)) (e4)))); [ zenon_intro zenon_H901 | zenon_intro zenon_H902 ]. % 47.72/47.87 cut (((op (op (e4) (e1)) (e4)) = (op (op (e4) (e1)) (e4))) = ((op (e2) (e4)) = (op (op (e4) (e1)) (e4)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H900. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H901. % 47.72/47.87 cut (((op (op (e4) (e1)) (e4)) = (op (op (e4) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H902]. % 47.72/47.87 cut (((op (op (e4) (e1)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H903]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Hb0 zenon_Ha9). % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H902. apply refl_equal. % 47.72/47.87 apply zenon_H902. apply refl_equal. % 47.72/47.87 apply (zenon_L113_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H8fe); [ zenon_intro zenon_H905 | zenon_intro zenon_H904 ]. % 47.72/47.87 cut (((op (e2) (e5)) = (e3)) = ((op (op (e4) (e1)) (e5)) = (op (e4) (op (e1) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H905. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H69. % 47.72/47.87 cut (((e3) = (op (e4) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2cf]. % 47.72/47.87 cut (((op (e2) (e5)) = (op (op (e4) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H906]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e1)) (e5)) = (op (op (e4) (e1)) (e5)))); [ zenon_intro zenon_H907 | zenon_intro zenon_H908 ]. % 47.72/47.87 cut (((op (op (e4) (e1)) (e5)) = (op (op (e4) (e1)) (e5))) = ((op (e2) (e5)) = (op (op (e4) (e1)) (e5)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H906. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H907. % 47.72/47.87 cut (((op (op (e4) (e1)) (e5)) = (op (op (e4) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H908]. % 47.72/47.87 cut (((op (op (e4) (e1)) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H909]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Hb0 zenon_Ha9). % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H908. apply refl_equal. % 47.72/47.87 apply zenon_H908. apply refl_equal. % 47.72/47.87 apply (zenon_L114_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H904); [ zenon_intro zenon_H90b | zenon_intro zenon_H90a ]. % 47.72/47.87 cut (((op (e5) (e0)) = (e5)) = ((op (op (e4) (e2)) (e0)) = (op (e4) (op (e2) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H90b. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hd1. % 47.72/47.87 cut (((e5) = (op (e4) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2d5]. % 47.72/47.87 cut (((op (e5) (e0)) = (op (op (e4) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H90c]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e2)) (e0)) = (op (op (e4) (e2)) (e0)))); [ zenon_intro zenon_H90d | zenon_intro zenon_H90e ]. % 47.72/47.87 cut (((op (op (e4) (e2)) (e0)) = (op (op (e4) (e2)) (e0))) = ((op (e5) (e0)) = (op (op (e4) (e2)) (e0)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H90c. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H90d. % 47.72/47.87 cut (((op (op (e4) (e2)) (e0)) = (op (op (e4) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H90e]. % 47.72/47.87 cut (((op (op (e4) (e2)) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H90f]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Hb8 zenon_Hb1). % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H90e. apply refl_equal. % 47.72/47.87 apply zenon_H90e. apply refl_equal. % 47.72/47.87 apply (zenon_L115_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H90a); [ zenon_intro zenon_H911 | zenon_intro zenon_H910 ]. % 47.72/47.87 cut (((op (e5) (e1)) = (e3)) = ((op (op (e4) (e2)) (e1)) = (op (e4) (op (e2) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H911. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hd9. % 47.72/47.87 cut (((e3) = (op (e4) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2db]. % 47.72/47.87 cut (((op (e5) (e1)) = (op (op (e4) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H912]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e2)) (e1)) = (op (op (e4) (e2)) (e1)))); [ zenon_intro zenon_H913 | zenon_intro zenon_H914 ]. % 47.72/47.87 cut (((op (op (e4) (e2)) (e1)) = (op (op (e4) (e2)) (e1))) = ((op (e5) (e1)) = (op (op (e4) (e2)) (e1)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H912. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H913. % 47.72/47.87 cut (((op (op (e4) (e2)) (e1)) = (op (op (e4) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H914]. % 47.72/47.87 cut (((op (op (e4) (e2)) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H915]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Hb8 zenon_Hb1). % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H914. apply refl_equal. % 47.72/47.87 apply zenon_H914. apply refl_equal. % 47.72/47.87 apply (zenon_L116_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H910); [ zenon_intro zenon_H917 | zenon_intro zenon_H916 ]. % 47.72/47.87 cut (((op (e5) (e2)) = (e4)) = ((op (op (e4) (e2)) (e2)) = (op (e4) (op (e2) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H917. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_He1. % 47.72/47.87 cut (((e4) = (op (e4) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2e1]. % 47.72/47.87 cut (((op (e5) (e2)) = (op (op (e4) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H918]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e2)) (e2)) = (op (op (e4) (e2)) (e2)))); [ zenon_intro zenon_H919 | zenon_intro zenon_H91a ]. % 47.72/47.87 cut (((op (op (e4) (e2)) (e2)) = (op (op (e4) (e2)) (e2))) = ((op (e5) (e2)) = (op (op (e4) (e2)) (e2)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H918. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H919. % 47.72/47.87 cut (((op (op (e4) (e2)) (e2)) = (op (op (e4) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H91a]. % 47.72/47.87 cut (((op (op (e4) (e2)) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H91b]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Hb8 zenon_Hb1). % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H91a. apply refl_equal. % 47.72/47.87 apply zenon_H91a. apply refl_equal. % 47.72/47.87 apply (zenon_L117_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H916); [ zenon_intro zenon_H91d | zenon_intro zenon_H91c ]. % 47.72/47.87 cut (((op (e5) (e3)) = (e1)) = ((op (op (e4) (e2)) (e3)) = (op (e4) (op (e2) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H91d. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_He9. % 47.72/47.87 cut (((e1) = (op (e4) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2e7]. % 47.72/47.87 cut (((op (e5) (e3)) = (op (op (e4) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H91e]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e2)) (e3)) = (op (op (e4) (e2)) (e3)))); [ zenon_intro zenon_H91f | zenon_intro zenon_H920 ]. % 47.72/47.87 cut (((op (op (e4) (e2)) (e3)) = (op (op (e4) (e2)) (e3))) = ((op (e5) (e3)) = (op (op (e4) (e2)) (e3)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H91e. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H91f. % 47.72/47.87 cut (((op (op (e4) (e2)) (e3)) = (op (op (e4) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H920]. % 47.72/47.87 cut (((op (op (e4) (e2)) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H921]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.87 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Hb8 zenon_Hb1). % 47.72/47.87 apply zenon_H1a. apply refl_equal. % 47.72/47.87 apply zenon_H920. apply refl_equal. % 47.72/47.87 apply zenon_H920. apply refl_equal. % 47.72/47.87 apply (zenon_L118_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H91c); [ zenon_intro zenon_H923 | zenon_intro zenon_H922 ]. % 47.72/47.87 cut (((op (e5) (e4)) = (e2)) = ((op (op (e4) (e2)) (e4)) = (op (e4) (op (e2) (e4))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H923. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hf1. % 47.72/47.87 cut (((e2) = (op (e4) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2ed]. % 47.72/47.87 cut (((op (e5) (e4)) = (op (op (e4) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H924]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e2)) (e4)) = (op (op (e4) (e2)) (e4)))); [ zenon_intro zenon_H925 | zenon_intro zenon_H926 ]. % 47.72/47.87 cut (((op (op (e4) (e2)) (e4)) = (op (op (e4) (e2)) (e4))) = ((op (e5) (e4)) = (op (op (e4) (e2)) (e4)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H924. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H925. % 47.72/47.87 cut (((op (op (e4) (e2)) (e4)) = (op (op (e4) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H926]. % 47.72/47.87 cut (((op (op (e4) (e2)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H927]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Hb8 zenon_Hb1). % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 apply zenon_H926. apply refl_equal. % 47.72/47.87 apply zenon_H926. apply refl_equal. % 47.72/47.87 apply (zenon_L119_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H922); [ zenon_intro zenon_H929 | zenon_intro zenon_H928 ]. % 47.72/47.87 cut (((op (e5) (e5)) = (e0)) = ((op (op (e4) (e2)) (e5)) = (op (e4) (op (e2) (e5))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H929. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hf9. % 47.72/47.87 cut (((e0) = (op (e4) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2f3]. % 47.72/47.87 cut (((op (e5) (e5)) = (op (op (e4) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H92a]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e2)) (e5)) = (op (op (e4) (e2)) (e5)))); [ zenon_intro zenon_H92b | zenon_intro zenon_H92c ]. % 47.72/47.87 cut (((op (op (e4) (e2)) (e5)) = (op (op (e4) (e2)) (e5))) = ((op (e5) (e5)) = (op (op (e4) (e2)) (e5)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H92a. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H92b. % 47.72/47.87 cut (((op (op (e4) (e2)) (e5)) = (op (op (e4) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H92c]. % 47.72/47.87 cut (((op (op (e4) (e2)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H92d]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.87 cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Hb8 zenon_Hb1). % 47.72/47.87 apply zenon_H2e. apply refl_equal. % 47.72/47.87 apply zenon_H92c. apply refl_equal. % 47.72/47.87 apply zenon_H92c. apply refl_equal. % 47.72/47.87 apply (zenon_L120_); trivial. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H928); [ zenon_intro zenon_H92f | zenon_intro zenon_H92e ]. % 47.72/47.87 cut (((op (e0) (e0)) = (e0)) = ((op (op (e4) (e3)) (e0)) = (op (e4) (op (e3) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H92f. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H11. % 47.72/47.87 cut (((e0) = (op (e4) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H930]. % 47.72/47.87 cut (((op (e0) (e0)) = (op (op (e4) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H931]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e3)) (e0)) = (op (op (e4) (e3)) (e0)))); [ zenon_intro zenon_H932 | zenon_intro zenon_H933 ]. % 47.72/47.87 cut (((op (op (e4) (e3)) (e0)) = (op (op (e4) (e3)) (e0))) = ((op (e0) (e0)) = (op (op (e4) (e3)) (e0)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H931. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H932. % 47.72/47.87 cut (((op (op (e4) (e3)) (e0)) = (op (op (e4) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H933]. % 47.72/47.87 cut (((op (op (e4) (e3)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H934]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e4) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Hc0 zenon_Hb9). % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H933. apply refl_equal. % 47.72/47.87 apply zenon_H933. apply refl_equal. % 47.72/47.87 elim (classic ((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0))))); [ zenon_intro zenon_H935 | zenon_intro zenon_H936 ]. % 47.72/47.87 cut (((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0)))) = ((e0) = (op (e4) (op (e3) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H930. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H935. % 47.72/47.87 cut (((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H936]. % 47.72/47.87 cut (((op (e4) (op (e3) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H937]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e4) (e3)) = (e0)) = ((op (e4) (op (e3) (e0))) = (e0))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H937. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hb9. % 47.72/47.87 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.87 cut (((op (e4) (e3)) = (op (e4) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H938]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0))))); [ zenon_intro zenon_H935 | zenon_intro zenon_H936 ]. % 47.72/47.87 cut (((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0)))) = ((op (e4) (e3)) = (op (e4) (op (e3) (e0))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H938. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H935. % 47.72/47.87 cut (((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H936]. % 47.72/47.87 cut (((op (e4) (op (e3) (e0))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H939]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 congruence. % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 exact (zenon_H78 zenon_H71). % 47.72/47.87 apply zenon_H936. apply refl_equal. % 47.72/47.87 apply zenon_H936. apply refl_equal. % 47.72/47.87 apply zenon_H7. apply refl_equal. % 47.72/47.87 apply zenon_H936. apply refl_equal. % 47.72/47.87 apply zenon_H936. apply refl_equal. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H92e); [ zenon_intro zenon_H93b | zenon_intro zenon_H93a ]. % 47.72/47.87 cut (((op (e0) (e1)) = (e1)) = ((op (op (e4) (e3)) (e1)) = (op (e4) (op (e3) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H93b. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H8. % 47.72/47.87 cut (((e1) = (op (e4) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H93c]. % 47.72/47.87 cut (((op (e0) (e1)) = (op (op (e4) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H93d]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e3)) (e1)) = (op (op (e4) (e3)) (e1)))); [ zenon_intro zenon_H93e | zenon_intro zenon_H93f ]. % 47.72/47.87 cut (((op (op (e4) (e3)) (e1)) = (op (op (e4) (e3)) (e1))) = ((op (e0) (e1)) = (op (op (e4) (e3)) (e1)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H93d. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H93e. % 47.72/47.87 cut (((op (op (e4) (e3)) (e1)) = (op (op (e4) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H93f]. % 47.72/47.87 cut (((op (op (e4) (e3)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H940]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e4) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Hc0 zenon_Hb9). % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H93f. apply refl_equal. % 47.72/47.87 apply zenon_H93f. apply refl_equal. % 47.72/47.87 elim (classic ((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1))))); [ zenon_intro zenon_H941 | zenon_intro zenon_H942 ]. % 47.72/47.87 cut (((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1)))) = ((e1) = (op (e4) (op (e3) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H93c. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H941. % 47.72/47.87 cut (((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H942]. % 47.72/47.87 cut (((op (e4) (op (e3) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H943]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e4) (e5)) = (e1)) = ((op (e4) (op (e3) (e1))) = (e1))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H943. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Hc9. % 47.72/47.87 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.87 cut (((op (e4) (e5)) = (op (e4) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H944]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1))))); [ zenon_intro zenon_H941 | zenon_intro zenon_H942 ]. % 47.72/47.87 cut (((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1)))) = ((op (e4) (e5)) = (op (e4) (op (e3) (e1))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H944. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H941. % 47.72/47.87 cut (((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H942]. % 47.72/47.87 cut (((op (e4) (op (e3) (e1))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H945]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 congruence. % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 exact (zenon_H80 zenon_H79). % 47.72/47.87 apply zenon_H942. apply refl_equal. % 47.72/47.87 apply zenon_H942. apply refl_equal. % 47.72/47.87 apply zenon_H5. apply refl_equal. % 47.72/47.87 apply zenon_H942. apply refl_equal. % 47.72/47.87 apply zenon_H942. apply refl_equal. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H93a); [ zenon_intro zenon_H947 | zenon_intro zenon_H946 ]. % 47.72/47.87 cut (((op (e0) (e2)) = (e2)) = ((op (op (e4) (e3)) (e2)) = (op (e4) (op (e3) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H947. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H24. % 47.72/47.87 cut (((e2) = (op (e4) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H948]. % 47.72/47.87 cut (((op (e0) (e2)) = (op (op (e4) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H949]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e3)) (e2)) = (op (op (e4) (e3)) (e2)))); [ zenon_intro zenon_H94a | zenon_intro zenon_H94b ]. % 47.72/47.87 cut (((op (op (e4) (e3)) (e2)) = (op (op (e4) (e3)) (e2))) = ((op (e0) (e2)) = (op (op (e4) (e3)) (e2)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H949. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H94a. % 47.72/47.87 cut (((op (op (e4) (e3)) (e2)) = (op (op (e4) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H94b]. % 47.72/47.87 cut (((op (op (e4) (e3)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H94c]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e4) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.72/47.87 congruence. % 47.72/47.87 exact (zenon_Hc0 zenon_Hb9). % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H94b. apply refl_equal. % 47.72/47.87 apply zenon_H94b. apply refl_equal. % 47.72/47.87 elim (classic ((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2))))); [ zenon_intro zenon_H94d | zenon_intro zenon_H94e ]. % 47.72/47.87 cut (((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2)))) = ((e2) = (op (e4) (op (e3) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H948. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H94d. % 47.72/47.87 cut (((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H94e]. % 47.72/47.87 cut (((op (e4) (op (e3) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H94f]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e4) (e1)) = (e2)) = ((op (e4) (op (e3) (e2))) = (e2))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H94f. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_Ha9. % 47.72/47.87 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.87 cut (((op (e4) (e1)) = (op (e4) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H950]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2))))); [ zenon_intro zenon_H94d | zenon_intro zenon_H94e ]. % 47.72/47.87 cut (((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2)))) = ((op (e4) (e1)) = (op (e4) (op (e3) (e2))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H950. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H94d. % 47.72/47.87 cut (((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H94e]. % 47.72/47.87 cut (((op (e4) (op (e3) (e2))) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H951]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 47.72/47.87 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.87 congruence. % 47.72/47.87 apply zenon_H2d. apply refl_equal. % 47.72/47.87 exact (zenon_H88 zenon_H81). % 47.72/47.87 apply zenon_H94e. apply refl_equal. % 47.72/47.87 apply zenon_H94e. apply refl_equal. % 47.72/47.87 apply zenon_H6. apply refl_equal. % 47.72/47.87 apply zenon_H94e. apply refl_equal. % 47.72/47.87 apply zenon_H94e. apply refl_equal. % 47.72/47.87 apply (zenon_notand_s _ _ zenon_H946); [ zenon_intro zenon_H953 | zenon_intro zenon_H952 ]. % 47.72/47.87 cut (((op (e0) (e3)) = (e3)) = ((op (op (e4) (e3)) (e3)) = (op (e4) (op (e3) (e3))))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H953. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H1b. % 47.72/47.87 cut (((e3) = (op (e4) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H954]. % 47.72/47.87 cut (((op (e0) (e3)) = (op (op (e4) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H955]. % 47.72/47.87 congruence. % 47.72/47.87 elim (classic ((op (op (e4) (e3)) (e3)) = (op (op (e4) (e3)) (e3)))); [ zenon_intro zenon_H956 | zenon_intro zenon_H957 ]. % 47.72/47.87 cut (((op (op (e4) (e3)) (e3)) = (op (op (e4) (e3)) (e3))) = ((op (e0) (e3)) = (op (op (e4) (e3)) (e3)))). % 47.72/47.87 intro zenon_D_pnotp. % 47.72/47.87 apply zenon_H955. % 47.72/47.87 rewrite <- zenon_D_pnotp. % 47.72/47.87 exact zenon_H956. % 47.72/47.87 cut (((op (op (e4) (e3)) (e3)) = (op (op (e4) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H957]. % 47.72/47.87 cut (((op (op (e4) (e3)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H958]. % 47.72/47.87 congruence. % 47.72/47.87 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 cut (((op (e4) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hc0 zenon_Hb9). % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 apply zenon_H957. apply refl_equal. % 47.72/47.88 apply zenon_H957. apply refl_equal. % 47.72/47.88 elim (classic ((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3))))); [ zenon_intro zenon_H959 | zenon_intro zenon_H95a ]. % 47.72/47.88 cut (((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3)))) = ((e3) = (op (e4) (op (e3) (e3))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H954. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H959. % 47.72/47.88 cut (((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H95a]. % 47.72/47.88 cut (((op (e4) (op (e3) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H95b]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e4) (e4)) = (e3)) = ((op (e4) (op (e3) (e3))) = (e3))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H95b. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hc1. % 47.72/47.88 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 cut (((op (e4) (e4)) = (op (e4) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H95c]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3))))); [ zenon_intro zenon_H959 | zenon_intro zenon_H95a ]. % 47.72/47.88 cut (((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3)))) = ((op (e4) (e4)) = (op (e4) (op (e3) (e3))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H95c. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H959. % 47.72/47.88 cut (((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H95a]. % 47.72/47.88 cut (((op (e4) (op (e3) (e3))) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H95d]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e3) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 exact (zenon_H90 zenon_H89). % 47.72/47.88 apply zenon_H95a. apply refl_equal. % 47.72/47.88 apply zenon_H95a. apply refl_equal. % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 apply zenon_H95a. apply refl_equal. % 47.72/47.88 apply zenon_H95a. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H952); [ zenon_intro zenon_H95f | zenon_intro zenon_H95e ]. % 47.72/47.88 cut (((op (e0) (e4)) = (e4)) = ((op (op (e4) (e3)) (e4)) = (op (e4) (op (e3) (e4))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H95f. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H38. % 47.72/47.88 cut (((e4) = (op (e4) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H960]. % 47.72/47.88 cut (((op (e0) (e4)) = (op (op (e4) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H961]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e4) (e3)) (e4)) = (op (op (e4) (e3)) (e4)))); [ zenon_intro zenon_H962 | zenon_intro zenon_H963 ]. % 47.72/47.88 cut (((op (op (e4) (e3)) (e4)) = (op (op (e4) (e3)) (e4))) = ((op (e0) (e4)) = (op (op (e4) (e3)) (e4)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H961. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H962. % 47.72/47.88 cut (((op (op (e4) (e3)) (e4)) = (op (op (e4) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H963]. % 47.72/47.88 cut (((op (op (e4) (e3)) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H964]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 cut (((op (e4) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hc0 zenon_Hb9). % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 apply zenon_H963. apply refl_equal. % 47.72/47.88 apply zenon_H963. apply refl_equal. % 47.72/47.88 elim (classic ((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4))))); [ zenon_intro zenon_H965 | zenon_intro zenon_H966 ]. % 47.72/47.88 cut (((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4)))) = ((e4) = (op (e4) (op (e3) (e4))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H960. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H965. % 47.72/47.88 cut (((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H966]. % 47.72/47.88 cut (((op (e4) (op (e3) (e4))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H967]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e4) (e0)) = (e4)) = ((op (e4) (op (e3) (e4))) = (e4))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H967. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha1. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 cut (((op (e4) (e0)) = (op (e4) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H968]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4))))); [ zenon_intro zenon_H965 | zenon_intro zenon_H966 ]. % 47.72/47.88 cut (((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4)))) = ((op (e4) (e0)) = (op (e4) (op (e3) (e4))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H968. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H965. % 47.72/47.88 cut (((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H966]. % 47.72/47.88 cut (((op (e4) (op (e3) (e4))) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H969]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e3) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 exact (zenon_H98 zenon_H91). % 47.72/47.88 apply zenon_H966. apply refl_equal. % 47.72/47.88 apply zenon_H966. apply refl_equal. % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 apply zenon_H966. apply refl_equal. % 47.72/47.88 apply zenon_H966. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H95e); [ zenon_intro zenon_H96b | zenon_intro zenon_H96a ]. % 47.72/47.88 cut (((op (e0) (e5)) = (e5)) = ((op (op (e4) (e3)) (e5)) = (op (e4) (op (e3) (e5))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H96b. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H2f. % 47.72/47.88 cut (((e5) = (op (e4) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H96c]. % 47.72/47.88 cut (((op (e0) (e5)) = (op (op (e4) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H96d]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e4) (e3)) (e5)) = (op (op (e4) (e3)) (e5)))); [ zenon_intro zenon_H96e | zenon_intro zenon_H96f ]. % 47.72/47.88 cut (((op (op (e4) (e3)) (e5)) = (op (op (e4) (e3)) (e5))) = ((op (e0) (e5)) = (op (op (e4) (e3)) (e5)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H96d. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H96e. % 47.72/47.88 cut (((op (op (e4) (e3)) (e5)) = (op (op (e4) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H96f]. % 47.72/47.88 cut (((op (op (e4) (e3)) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H970]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 cut (((op (e4) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hc0 zenon_Hb9). % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 apply zenon_H96f. apply refl_equal. % 47.72/47.88 apply zenon_H96f. apply refl_equal. % 47.72/47.88 elim (classic ((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5))))); [ zenon_intro zenon_H971 | zenon_intro zenon_H972 ]. % 47.72/47.88 cut (((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5)))) = ((e5) = (op (e4) (op (e3) (e5))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H96c. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H971. % 47.72/47.88 cut (((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H972]. % 47.72/47.88 cut (((op (e4) (op (e3) (e5))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H973]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e4) (e2)) = (e5)) = ((op (e4) (op (e3) (e5))) = (e5))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H973. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hb1. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 cut (((op (e4) (e2)) = (op (e4) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H974]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5))))); [ zenon_intro zenon_H971 | zenon_intro zenon_H972 ]. % 47.72/47.88 cut (((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5)))) = ((op (e4) (e2)) = (op (e4) (op (e3) (e5))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H974. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H971. % 47.72/47.88 cut (((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H972]. % 47.72/47.88 cut (((op (e4) (op (e3) (e5))) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H975]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e3) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 exact (zenon_Ha0 zenon_H99). % 47.72/47.88 apply zenon_H972. apply refl_equal. % 47.72/47.88 apply zenon_H972. apply refl_equal. % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 apply zenon_H972. apply refl_equal. % 47.72/47.88 apply zenon_H972. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H96a); [ zenon_intro zenon_H977 | zenon_intro zenon_H976 ]. % 47.72/47.88 cut (((op (e3) (e0)) = (e3)) = ((op (op (e4) (e4)) (e0)) = (op (e4) (op (e4) (e0))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H977. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H71. % 47.72/47.88 cut (((e3) = (op (e4) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2f9]. % 47.72/47.88 cut (((op (e3) (e0)) = (op (op (e4) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H978]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e4) (e4)) (e0)) = (op (op (e4) (e4)) (e0)))); [ zenon_intro zenon_H979 | zenon_intro zenon_H97a ]. % 47.72/47.88 cut (((op (op (e4) (e4)) (e0)) = (op (op (e4) (e4)) (e0))) = ((op (e3) (e0)) = (op (op (e4) (e4)) (e0)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H978. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H979. % 47.72/47.88 cut (((op (op (e4) (e4)) (e0)) = (op (op (e4) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H97a]. % 47.72/47.88 cut (((op (op (e4) (e4)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H97b]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hc8 zenon_Hc1). % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply zenon_H97a. apply refl_equal. % 47.72/47.88 apply zenon_H97a. apply refl_equal. % 47.72/47.88 apply (zenon_L121_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H976); [ zenon_intro zenon_H97d | zenon_intro zenon_H97c ]. % 47.72/47.88 cut (((op (e3) (e1)) = (e5)) = ((op (op (e4) (e4)) (e1)) = (op (e4) (op (e4) (e1))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H97d. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H79. % 47.72/47.88 cut (((e5) = (op (e4) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2ff]. % 47.72/47.88 cut (((op (e3) (e1)) = (op (op (e4) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H97e]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e4) (e4)) (e1)) = (op (op (e4) (e4)) (e1)))); [ zenon_intro zenon_H97f | zenon_intro zenon_H980 ]. % 47.72/47.88 cut (((op (op (e4) (e4)) (e1)) = (op (op (e4) (e4)) (e1))) = ((op (e3) (e1)) = (op (op (e4) (e4)) (e1)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H97e. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H97f. % 47.72/47.88 cut (((op (op (e4) (e4)) (e1)) = (op (op (e4) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H980]. % 47.72/47.88 cut (((op (op (e4) (e4)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H981]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.88 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hc8 zenon_Hc1). % 47.72/47.88 apply zenon_H5. apply refl_equal. % 47.72/47.88 apply zenon_H980. apply refl_equal. % 47.72/47.88 apply zenon_H980. apply refl_equal. % 47.72/47.88 apply (zenon_L122_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H97c); [ zenon_intro zenon_H983 | zenon_intro zenon_H982 ]. % 47.72/47.88 cut (((op (e3) (e2)) = (e1)) = ((op (op (e4) (e4)) (e2)) = (op (e4) (op (e4) (e2))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H983. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H81. % 47.72/47.88 cut (((e1) = (op (e4) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H305]. % 47.72/47.88 cut (((op (e3) (e2)) = (op (op (e4) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H984]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e4) (e4)) (e2)) = (op (op (e4) (e4)) (e2)))); [ zenon_intro zenon_H985 | zenon_intro zenon_H986 ]. % 47.72/47.88 cut (((op (op (e4) (e4)) (e2)) = (op (op (e4) (e4)) (e2))) = ((op (e3) (e2)) = (op (op (e4) (e4)) (e2)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H984. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H985. % 47.72/47.88 cut (((op (op (e4) (e4)) (e2)) = (op (op (e4) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H986]. % 47.72/47.88 cut (((op (op (e4) (e4)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H987]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.88 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hc8 zenon_Hc1). % 47.72/47.88 apply zenon_H6. apply refl_equal. % 47.72/47.88 apply zenon_H986. apply refl_equal. % 47.72/47.88 apply zenon_H986. apply refl_equal. % 47.72/47.88 apply (zenon_L123_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H982); [ zenon_intro zenon_H989 | zenon_intro zenon_H988 ]. % 47.72/47.88 cut (((op (e3) (e3)) = (e4)) = ((op (op (e4) (e4)) (e3)) = (op (e4) (op (e4) (e3))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H989. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H89. % 47.72/47.88 cut (((e4) = (op (e4) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H30b]. % 47.72/47.88 cut (((op (e3) (e3)) = (op (op (e4) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H98a]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e4) (e4)) (e3)) = (op (op (e4) (e4)) (e3)))); [ zenon_intro zenon_H98b | zenon_intro zenon_H98c ]. % 47.72/47.88 cut (((op (op (e4) (e4)) (e3)) = (op (op (e4) (e4)) (e3))) = ((op (e3) (e3)) = (op (op (e4) (e4)) (e3)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H98a. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H98b. % 47.72/47.88 cut (((op (op (e4) (e4)) (e3)) = (op (op (e4) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H98c]. % 47.72/47.88 cut (((op (op (e4) (e4)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H98d]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hc8 zenon_Hc1). % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 apply zenon_H98c. apply refl_equal. % 47.72/47.88 apply zenon_H98c. apply refl_equal. % 47.72/47.88 apply (zenon_L124_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H988); [ zenon_intro zenon_H98f | zenon_intro zenon_H98e ]. % 47.72/47.88 cut (((op (e3) (e4)) = (e0)) = ((op (op (e4) (e4)) (e4)) = (op (e4) (op (e4) (e4))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H98f. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H91. % 47.72/47.88 cut (((e0) = (op (e4) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H311]. % 47.72/47.88 cut (((op (e3) (e4)) = (op (op (e4) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H990]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e4) (e4)) (e4)) = (op (op (e4) (e4)) (e4)))); [ zenon_intro zenon_H991 | zenon_intro zenon_H992 ]. % 47.72/47.88 cut (((op (op (e4) (e4)) (e4)) = (op (op (e4) (e4)) (e4))) = ((op (e3) (e4)) = (op (op (e4) (e4)) (e4)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H990. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H991. % 47.72/47.88 cut (((op (op (e4) (e4)) (e4)) = (op (op (e4) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H992]. % 47.72/47.88 cut (((op (op (e4) (e4)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H993]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hc8 zenon_Hc1). % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 apply zenon_H992. apply refl_equal. % 47.72/47.88 apply zenon_H992. apply refl_equal. % 47.72/47.88 apply (zenon_L125_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H98e); [ zenon_intro zenon_H995 | zenon_intro zenon_H994 ]. % 47.72/47.88 cut (((op (e3) (e5)) = (e2)) = ((op (op (e4) (e4)) (e5)) = (op (e4) (op (e4) (e5))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H995. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H99. % 47.72/47.88 cut (((e2) = (op (e4) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H317]. % 47.72/47.88 cut (((op (e3) (e5)) = (op (op (e4) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H996]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e4) (e4)) (e5)) = (op (op (e4) (e4)) (e5)))); [ zenon_intro zenon_H997 | zenon_intro zenon_H998 ]. % 47.72/47.88 cut (((op (op (e4) (e4)) (e5)) = (op (op (e4) (e4)) (e5))) = ((op (e3) (e5)) = (op (op (e4) (e4)) (e5)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H996. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H997. % 47.72/47.88 cut (((op (op (e4) (e4)) (e5)) = (op (op (e4) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H998]. % 47.72/47.88 cut (((op (op (e4) (e4)) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H999]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hc8 zenon_Hc1). % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 apply zenon_H998. apply refl_equal. % 47.72/47.88 apply zenon_H998. apply refl_equal. % 47.72/47.88 apply (zenon_L126_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H994); [ zenon_intro zenon_H99b | zenon_intro zenon_H99a ]. % 47.72/47.88 cut (((op (e1) (e0)) = (e1)) = ((op (op (e4) (e5)) (e0)) = (op (e4) (op (e5) (e0))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H99b. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9. % 47.72/47.88 cut (((e1) = (op (e4) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H31d]. % 47.72/47.88 cut (((op (e1) (e0)) = (op (op (e4) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H99c]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e4) (e5)) (e0)) = (op (op (e4) (e5)) (e0)))); [ zenon_intro zenon_H99d | zenon_intro zenon_H99e ]. % 47.72/47.88 cut (((op (op (e4) (e5)) (e0)) = (op (op (e4) (e5)) (e0))) = ((op (e1) (e0)) = (op (op (e4) (e5)) (e0)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H99c. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H99d. % 47.72/47.88 cut (((op (op (e4) (e5)) (e0)) = (op (op (e4) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H99e]. % 47.72/47.88 cut (((op (op (e4) (e5)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H99f]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e4) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hd0 zenon_Hc9). % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply zenon_H99e. apply refl_equal. % 47.72/47.88 apply zenon_H99e. apply refl_equal. % 47.72/47.88 apply (zenon_L127_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H99a); [ zenon_intro zenon_H9a1 | zenon_intro zenon_H9a0 ]. % 47.72/47.88 cut (((op (e1) (e1)) = (e0)) = ((op (op (e4) (e5)) (e1)) = (op (e4) (op (e5) (e1))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9a1. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H12. % 47.72/47.88 cut (((e0) = (op (e4) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H323]. % 47.72/47.88 cut (((op (e1) (e1)) = (op (op (e4) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9a2]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e4) (e5)) (e1)) = (op (op (e4) (e5)) (e1)))); [ zenon_intro zenon_H9a3 | zenon_intro zenon_H9a4 ]. % 47.72/47.88 cut (((op (op (e4) (e5)) (e1)) = (op (op (e4) (e5)) (e1))) = ((op (e1) (e1)) = (op (op (e4) (e5)) (e1)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9a2. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9a3. % 47.72/47.88 cut (((op (op (e4) (e5)) (e1)) = (op (op (e4) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9a4]. % 47.72/47.88 cut (((op (op (e4) (e5)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9a5]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.88 cut (((op (e4) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hd0 zenon_Hc9). % 47.72/47.88 apply zenon_H5. apply refl_equal. % 47.72/47.88 apply zenon_H9a4. apply refl_equal. % 47.72/47.88 apply zenon_H9a4. apply refl_equal. % 47.72/47.88 apply (zenon_L128_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9a0); [ zenon_intro zenon_H9a7 | zenon_intro zenon_H9a6 ]. % 47.72/47.88 cut (((op (e1) (e2)) = (e3)) = ((op (op (e4) (e5)) (e2)) = (op (e4) (op (e5) (e2))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9a7. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H1c. % 47.72/47.88 cut (((e3) = (op (e4) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H329]. % 47.72/47.88 cut (((op (e1) (e2)) = (op (op (e4) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9a8]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e4) (e5)) (e2)) = (op (op (e4) (e5)) (e2)))); [ zenon_intro zenon_H9a9 | zenon_intro zenon_H9aa ]. % 47.72/47.88 cut (((op (op (e4) (e5)) (e2)) = (op (op (e4) (e5)) (e2))) = ((op (e1) (e2)) = (op (op (e4) (e5)) (e2)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9a8. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9a9. % 47.72/47.88 cut (((op (op (e4) (e5)) (e2)) = (op (op (e4) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9aa]. % 47.72/47.88 cut (((op (op (e4) (e5)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9ab]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.88 cut (((op (e4) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hd0 zenon_Hc9). % 47.72/47.88 apply zenon_H6. apply refl_equal. % 47.72/47.88 apply zenon_H9aa. apply refl_equal. % 47.72/47.88 apply zenon_H9aa. apply refl_equal. % 47.72/47.88 apply (zenon_L129_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9a6); [ zenon_intro zenon_H9ad | zenon_intro zenon_H9ac ]. % 47.72/47.88 cut (((op (e1) (e3)) = (e2)) = ((op (op (e4) (e5)) (e3)) = (op (e4) (op (e5) (e3))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9ad. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H25. % 47.72/47.88 cut (((e2) = (op (e4) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H32f]. % 47.72/47.88 cut (((op (e1) (e3)) = (op (op (e4) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H9ae]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e4) (e5)) (e3)) = (op (op (e4) (e5)) (e3)))); [ zenon_intro zenon_H9af | zenon_intro zenon_H9b0 ]. % 47.72/47.88 cut (((op (op (e4) (e5)) (e3)) = (op (op (e4) (e5)) (e3))) = ((op (e1) (e3)) = (op (op (e4) (e5)) (e3)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9ae. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9af. % 47.72/47.88 cut (((op (op (e4) (e5)) (e3)) = (op (op (e4) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H9b0]. % 47.72/47.88 cut (((op (op (e4) (e5)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H9b1]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 cut (((op (e4) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hd0 zenon_Hc9). % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 apply zenon_H9b0. apply refl_equal. % 47.72/47.88 apply zenon_H9b0. apply refl_equal. % 47.72/47.88 apply (zenon_L130_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9ac); [ zenon_intro zenon_H9b3 | zenon_intro zenon_H9b2 ]. % 47.72/47.88 cut (((op (e1) (e4)) = (e5)) = ((op (op (e4) (e5)) (e4)) = (op (e4) (op (e5) (e4))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9b3. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H30. % 47.72/47.88 cut (((e5) = (op (e4) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H335]. % 47.72/47.88 cut (((op (e1) (e4)) = (op (op (e4) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9b4]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e4) (e5)) (e4)) = (op (op (e4) (e5)) (e4)))); [ zenon_intro zenon_H9b5 | zenon_intro zenon_H9b6 ]. % 47.72/47.88 cut (((op (op (e4) (e5)) (e4)) = (op (op (e4) (e5)) (e4))) = ((op (e1) (e4)) = (op (op (e4) (e5)) (e4)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9b4. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9b5. % 47.72/47.88 cut (((op (op (e4) (e5)) (e4)) = (op (op (e4) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9b6]. % 47.72/47.88 cut (((op (op (e4) (e5)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9b7]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 cut (((op (e4) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hd0 zenon_Hc9). % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 apply zenon_H9b6. apply refl_equal. % 47.72/47.88 apply zenon_H9b6. apply refl_equal. % 47.72/47.88 apply (zenon_L131_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9b2); [ zenon_intro zenon_H9b9 | zenon_intro zenon_H9b8 ]. % 47.72/47.88 cut (((op (e1) (e5)) = (e4)) = ((op (op (e4) (e5)) (e5)) = (op (e4) (op (e5) (e5))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9b9. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H39. % 47.72/47.88 cut (((e4) = (op (e4) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H33b]. % 47.72/47.88 cut (((op (e1) (e5)) = (op (op (e4) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9ba]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e4) (e5)) (e5)) = (op (op (e4) (e5)) (e5)))); [ zenon_intro zenon_H9bb | zenon_intro zenon_H9bc ]. % 47.72/47.88 cut (((op (op (e4) (e5)) (e5)) = (op (op (e4) (e5)) (e5))) = ((op (e1) (e5)) = (op (op (e4) (e5)) (e5)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9ba. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9bb. % 47.72/47.88 cut (((op (op (e4) (e5)) (e5)) = (op (op (e4) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9bc]. % 47.72/47.88 cut (((op (op (e4) (e5)) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9bd]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 cut (((op (e4) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hd0 zenon_Hc9). % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 apply zenon_H9bc. apply refl_equal. % 47.72/47.88 apply zenon_H9bc. apply refl_equal. % 47.72/47.88 apply (zenon_L132_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9b8); [ zenon_intro zenon_H9bf | zenon_intro zenon_H9be ]. % 47.72/47.88 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H56a]. % 47.72/47.88 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hd8 zenon_Hd1). % 47.72/47.88 apply zenon_H56a. apply sym_equal. exact zenon_H11. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9be); [ zenon_intro zenon_H9c1 | zenon_intro zenon_H9c0 ]. % 47.72/47.88 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H56d]. % 47.72/47.88 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hd8 zenon_Hd1). % 47.72/47.88 apply zenon_H56d. apply sym_equal. exact zenon_H8. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9c0); [ zenon_intro zenon_H9c3 | zenon_intro zenon_H9c2 ]. % 47.72/47.88 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H570]. % 47.72/47.88 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hd8 zenon_Hd1). % 47.72/47.88 apply zenon_H570. apply sym_equal. exact zenon_H24. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9c2); [ zenon_intro zenon_H9c5 | zenon_intro zenon_H9c4 ]. % 47.72/47.88 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H573]. % 47.72/47.88 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hd8 zenon_Hd1). % 47.72/47.88 apply zenon_H573. apply sym_equal. exact zenon_H1b. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9c4); [ zenon_intro zenon_H9c7 | zenon_intro zenon_H9c6 ]. % 47.72/47.88 cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H576]. % 47.72/47.88 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hd8 zenon_Hd1). % 47.72/47.88 apply zenon_H576. apply sym_equal. exact zenon_H38. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9c6); [ zenon_intro zenon_H9c9 | zenon_intro zenon_H9c8 ]. % 47.72/47.88 cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H579]. % 47.72/47.88 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hd8 zenon_Hd1). % 47.72/47.88 apply zenon_H579. apply sym_equal. exact zenon_H2f. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9c8); [ zenon_intro zenon_H9cb | zenon_intro zenon_H9ca ]. % 47.72/47.88 cut (((op (e3) (e0)) = (e3)) = ((op (op (e5) (e1)) (e0)) = (op (e5) (op (e1) (e0))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9cb. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H71. % 47.72/47.88 cut (((e3) = (op (e5) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H341]. % 47.72/47.88 cut (((op (e3) (e0)) = (op (op (e5) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9cc]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e1)) (e0)) = (op (op (e5) (e1)) (e0)))); [ zenon_intro zenon_H9cd | zenon_intro zenon_H9ce ]. % 47.72/47.88 cut (((op (op (e5) (e1)) (e0)) = (op (op (e5) (e1)) (e0))) = ((op (e3) (e0)) = (op (op (e5) (e1)) (e0)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9cc. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9cd. % 47.72/47.88 cut (((op (op (e5) (e1)) (e0)) = (op (op (e5) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9ce]. % 47.72/47.88 cut (((op (op (e5) (e1)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9cf]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_He0 zenon_Hd9). % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply zenon_H9ce. apply refl_equal. % 47.72/47.88 apply zenon_H9ce. apply refl_equal. % 47.72/47.88 apply (zenon_L133_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9ca); [ zenon_intro zenon_H9d1 | zenon_intro zenon_H9d0 ]. % 47.72/47.88 cut (((op (e3) (e1)) = (e5)) = ((op (op (e5) (e1)) (e1)) = (op (e5) (op (e1) (e1))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9d1. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H79. % 47.72/47.88 cut (((e5) = (op (e5) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H347]. % 47.72/47.88 cut (((op (e3) (e1)) = (op (op (e5) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9d2]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e1)) (e1)) = (op (op (e5) (e1)) (e1)))); [ zenon_intro zenon_H9d3 | zenon_intro zenon_H9d4 ]. % 47.72/47.88 cut (((op (op (e5) (e1)) (e1)) = (op (op (e5) (e1)) (e1))) = ((op (e3) (e1)) = (op (op (e5) (e1)) (e1)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9d2. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9d3. % 47.72/47.88 cut (((op (op (e5) (e1)) (e1)) = (op (op (e5) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9d4]. % 47.72/47.88 cut (((op (op (e5) (e1)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9d5]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.88 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_He0 zenon_Hd9). % 47.72/47.88 apply zenon_H5. apply refl_equal. % 47.72/47.88 apply zenon_H9d4. apply refl_equal. % 47.72/47.88 apply zenon_H9d4. apply refl_equal. % 47.72/47.88 apply (zenon_L134_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9d0); [ zenon_intro zenon_H9d7 | zenon_intro zenon_H9d6 ]. % 47.72/47.88 cut (((op (e3) (e2)) = (e1)) = ((op (op (e5) (e1)) (e2)) = (op (e5) (op (e1) (e2))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9d7. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H81. % 47.72/47.88 cut (((e1) = (op (e5) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H34d]. % 47.72/47.88 cut (((op (e3) (e2)) = (op (op (e5) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9d8]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e1)) (e2)) = (op (op (e5) (e1)) (e2)))); [ zenon_intro zenon_H9d9 | zenon_intro zenon_H9da ]. % 47.72/47.88 cut (((op (op (e5) (e1)) (e2)) = (op (op (e5) (e1)) (e2))) = ((op (e3) (e2)) = (op (op (e5) (e1)) (e2)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9d8. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9d9. % 47.72/47.88 cut (((op (op (e5) (e1)) (e2)) = (op (op (e5) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9da]. % 47.72/47.88 cut (((op (op (e5) (e1)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9db]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.88 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_He0 zenon_Hd9). % 47.72/47.88 apply zenon_H6. apply refl_equal. % 47.72/47.88 apply zenon_H9da. apply refl_equal. % 47.72/47.88 apply zenon_H9da. apply refl_equal. % 47.72/47.88 apply (zenon_L135_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9d6); [ zenon_intro zenon_H9dd | zenon_intro zenon_H9dc ]. % 47.72/47.88 cut (((op (e3) (e3)) = (e4)) = ((op (op (e5) (e1)) (e3)) = (op (e5) (op (e1) (e3))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9dd. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H89. % 47.72/47.88 cut (((e4) = (op (e5) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H353]. % 47.72/47.88 cut (((op (e3) (e3)) = (op (op (e5) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H9de]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e1)) (e3)) = (op (op (e5) (e1)) (e3)))); [ zenon_intro zenon_H9df | zenon_intro zenon_H9e0 ]. % 47.72/47.88 cut (((op (op (e5) (e1)) (e3)) = (op (op (e5) (e1)) (e3))) = ((op (e3) (e3)) = (op (op (e5) (e1)) (e3)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9de. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9df. % 47.72/47.88 cut (((op (op (e5) (e1)) (e3)) = (op (op (e5) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H9e0]. % 47.72/47.88 cut (((op (op (e5) (e1)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H9e1]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_He0 zenon_Hd9). % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 apply zenon_H9e0. apply refl_equal. % 47.72/47.88 apply zenon_H9e0. apply refl_equal. % 47.72/47.88 apply (zenon_L136_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9dc); [ zenon_intro zenon_H9e3 | zenon_intro zenon_H9e2 ]. % 47.72/47.88 cut (((op (e3) (e4)) = (e0)) = ((op (op (e5) (e1)) (e4)) = (op (e5) (op (e1) (e4))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9e3. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H91. % 47.72/47.88 cut (((e0) = (op (e5) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H359]. % 47.72/47.88 cut (((op (e3) (e4)) = (op (op (e5) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9e4]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e1)) (e4)) = (op (op (e5) (e1)) (e4)))); [ zenon_intro zenon_H9e5 | zenon_intro zenon_H9e6 ]. % 47.72/47.88 cut (((op (op (e5) (e1)) (e4)) = (op (op (e5) (e1)) (e4))) = ((op (e3) (e4)) = (op (op (e5) (e1)) (e4)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9e4. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9e5. % 47.72/47.88 cut (((op (op (e5) (e1)) (e4)) = (op (op (e5) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9e6]. % 47.72/47.88 cut (((op (op (e5) (e1)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9e7]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_He0 zenon_Hd9). % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 apply zenon_H9e6. apply refl_equal. % 47.72/47.88 apply zenon_H9e6. apply refl_equal. % 47.72/47.88 apply (zenon_L137_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9e2); [ zenon_intro zenon_H9e9 | zenon_intro zenon_H9e8 ]. % 47.72/47.88 cut (((op (e3) (e5)) = (e2)) = ((op (op (e5) (e1)) (e5)) = (op (e5) (op (e1) (e5))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9e9. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H99. % 47.72/47.88 cut (((e2) = (op (e5) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H35f]. % 47.72/47.88 cut (((op (e3) (e5)) = (op (op (e5) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9ea]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e1)) (e5)) = (op (op (e5) (e1)) (e5)))); [ zenon_intro zenon_H9eb | zenon_intro zenon_H9ec ]. % 47.72/47.88 cut (((op (op (e5) (e1)) (e5)) = (op (op (e5) (e1)) (e5))) = ((op (e3) (e5)) = (op (op (e5) (e1)) (e5)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9ea. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9eb. % 47.72/47.88 cut (((op (op (e5) (e1)) (e5)) = (op (op (e5) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9ec]. % 47.72/47.88 cut (((op (op (e5) (e1)) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9ed]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_He0 zenon_Hd9). % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 apply zenon_H9ec. apply refl_equal. % 47.72/47.88 apply zenon_H9ec. apply refl_equal. % 47.72/47.88 apply (zenon_L138_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9e8); [ zenon_intro zenon_H9ef | zenon_intro zenon_H9ee ]. % 47.72/47.88 cut (((op (e4) (e0)) = (e4)) = ((op (op (e5) (e2)) (e0)) = (op (e5) (op (e2) (e0))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9ef. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha1. % 47.72/47.88 cut (((e4) = (op (e5) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H365]. % 47.72/47.88 cut (((op (e4) (e0)) = (op (op (e5) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9f0]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e2)) (e0)) = (op (op (e5) (e2)) (e0)))); [ zenon_intro zenon_H9f1 | zenon_intro zenon_H9f2 ]. % 47.72/47.88 cut (((op (op (e5) (e2)) (e0)) = (op (op (e5) (e2)) (e0))) = ((op (e4) (e0)) = (op (op (e5) (e2)) (e0)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9f0. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9f1. % 47.72/47.88 cut (((op (op (e5) (e2)) (e0)) = (op (op (e5) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9f2]. % 47.72/47.88 cut (((op (op (e5) (e2)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9f3]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e5) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_He8 zenon_He1). % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply zenon_H9f2. apply refl_equal. % 47.72/47.88 apply zenon_H9f2. apply refl_equal. % 47.72/47.88 apply (zenon_L139_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9ee); [ zenon_intro zenon_H9f5 | zenon_intro zenon_H9f4 ]. % 47.72/47.88 cut (((op (e4) (e1)) = (e2)) = ((op (op (e5) (e2)) (e1)) = (op (e5) (op (e2) (e1))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9f5. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha9. % 47.72/47.88 cut (((e2) = (op (e5) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H36b]. % 47.72/47.88 cut (((op (e4) (e1)) = (op (op (e5) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9f6]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e2)) (e1)) = (op (op (e5) (e2)) (e1)))); [ zenon_intro zenon_H9f7 | zenon_intro zenon_H9f8 ]. % 47.72/47.88 cut (((op (op (e5) (e2)) (e1)) = (op (op (e5) (e2)) (e1))) = ((op (e4) (e1)) = (op (op (e5) (e2)) (e1)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9f6. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9f7. % 47.72/47.88 cut (((op (op (e5) (e2)) (e1)) = (op (op (e5) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9f8]. % 47.72/47.88 cut (((op (op (e5) (e2)) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9f9]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.88 cut (((op (e5) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_He8 zenon_He1). % 47.72/47.88 apply zenon_H5. apply refl_equal. % 47.72/47.88 apply zenon_H9f8. apply refl_equal. % 47.72/47.88 apply zenon_H9f8. apply refl_equal. % 47.72/47.88 apply (zenon_L140_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9f4); [ zenon_intro zenon_H9fb | zenon_intro zenon_H9fa ]. % 47.72/47.88 cut (((op (e4) (e2)) = (e5)) = ((op (op (e5) (e2)) (e2)) = (op (e5) (op (e2) (e2))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9fb. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hb1. % 47.72/47.88 cut (((e5) = (op (e5) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H371]. % 47.72/47.88 cut (((op (e4) (e2)) = (op (op (e5) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9fc]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e2)) (e2)) = (op (op (e5) (e2)) (e2)))); [ zenon_intro zenon_H9fd | zenon_intro zenon_H9fe ]. % 47.72/47.88 cut (((op (op (e5) (e2)) (e2)) = (op (op (e5) (e2)) (e2))) = ((op (e4) (e2)) = (op (op (e5) (e2)) (e2)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_H9fc. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9fd. % 47.72/47.88 cut (((op (op (e5) (e2)) (e2)) = (op (op (e5) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9fe]. % 47.72/47.88 cut (((op (op (e5) (e2)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9ff]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.88 cut (((op (e5) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_He8 zenon_He1). % 47.72/47.88 apply zenon_H6. apply refl_equal. % 47.72/47.88 apply zenon_H9fe. apply refl_equal. % 47.72/47.88 apply zenon_H9fe. apply refl_equal. % 47.72/47.88 apply (zenon_L141_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_H9fa); [ zenon_intro zenon_Ha01 | zenon_intro zenon_Ha00 ]. % 47.72/47.88 cut (((op (e4) (e3)) = (e0)) = ((op (op (e5) (e2)) (e3)) = (op (e5) (op (e2) (e3))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha01. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hb9. % 47.72/47.88 cut (((e0) = (op (e5) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H377]. % 47.72/47.88 cut (((op (e4) (e3)) = (op (op (e5) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha02]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e2)) (e3)) = (op (op (e5) (e2)) (e3)))); [ zenon_intro zenon_Ha03 | zenon_intro zenon_Ha04 ]. % 47.72/47.88 cut (((op (op (e5) (e2)) (e3)) = (op (op (e5) (e2)) (e3))) = ((op (e4) (e3)) = (op (op (e5) (e2)) (e3)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha02. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha03. % 47.72/47.88 cut (((op (op (e5) (e2)) (e3)) = (op (op (e5) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha04]. % 47.72/47.88 cut (((op (op (e5) (e2)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha05]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 cut (((op (e5) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_He8 zenon_He1). % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 apply zenon_Ha04. apply refl_equal. % 47.72/47.88 apply zenon_Ha04. apply refl_equal. % 47.72/47.88 apply (zenon_L142_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha00); [ zenon_intro zenon_Ha07 | zenon_intro zenon_Ha06 ]. % 47.72/47.88 cut (((op (e4) (e4)) = (e3)) = ((op (op (e5) (e2)) (e4)) = (op (e5) (op (e2) (e4))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha07. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hc1. % 47.72/47.88 cut (((e3) = (op (e5) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H37d]. % 47.72/47.88 cut (((op (e4) (e4)) = (op (op (e5) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha08]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e2)) (e4)) = (op (op (e5) (e2)) (e4)))); [ zenon_intro zenon_Ha09 | zenon_intro zenon_Ha0a ]. % 47.72/47.88 cut (((op (op (e5) (e2)) (e4)) = (op (op (e5) (e2)) (e4))) = ((op (e4) (e4)) = (op (op (e5) (e2)) (e4)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha08. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha09. % 47.72/47.88 cut (((op (op (e5) (e2)) (e4)) = (op (op (e5) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha0a]. % 47.72/47.88 cut (((op (op (e5) (e2)) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha0b]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 cut (((op (e5) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_He8 zenon_He1). % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 apply zenon_Ha0a. apply refl_equal. % 47.72/47.88 apply zenon_Ha0a. apply refl_equal. % 47.72/47.88 apply (zenon_L143_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha06); [ zenon_intro zenon_Ha0d | zenon_intro zenon_Ha0c ]. % 47.72/47.88 cut (((op (e4) (e5)) = (e1)) = ((op (op (e5) (e2)) (e5)) = (op (e5) (op (e2) (e5))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha0d. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hc9. % 47.72/47.88 cut (((e1) = (op (e5) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H383]. % 47.72/47.88 cut (((op (e4) (e5)) = (op (op (e5) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha0e]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e2)) (e5)) = (op (op (e5) (e2)) (e5)))); [ zenon_intro zenon_Ha0f | zenon_intro zenon_Ha10 ]. % 47.72/47.88 cut (((op (op (e5) (e2)) (e5)) = (op (op (e5) (e2)) (e5))) = ((op (e4) (e5)) = (op (op (e5) (e2)) (e5)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha0e. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha0f. % 47.72/47.88 cut (((op (op (e5) (e2)) (e5)) = (op (op (e5) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha10]. % 47.72/47.88 cut (((op (op (e5) (e2)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha11]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 cut (((op (e5) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_He8 zenon_He1). % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 apply zenon_Ha10. apply refl_equal. % 47.72/47.88 apply zenon_Ha10. apply refl_equal. % 47.72/47.88 apply (zenon_L144_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha0c); [ zenon_intro zenon_Ha13 | zenon_intro zenon_Ha12 ]. % 47.72/47.88 cut (((op (e1) (e0)) = (e1)) = ((op (op (e5) (e3)) (e0)) = (op (e5) (op (e3) (e0))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha13. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9. % 47.72/47.88 cut (((e1) = (op (e5) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H389]. % 47.72/47.88 cut (((op (e1) (e0)) = (op (op (e5) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha14]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e3)) (e0)) = (op (op (e5) (e3)) (e0)))); [ zenon_intro zenon_Ha15 | zenon_intro zenon_Ha16 ]. % 47.72/47.88 cut (((op (op (e5) (e3)) (e0)) = (op (op (e5) (e3)) (e0))) = ((op (e1) (e0)) = (op (op (e5) (e3)) (e0)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha14. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha15. % 47.72/47.88 cut (((op (op (e5) (e3)) (e0)) = (op (op (e5) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha16]. % 47.72/47.88 cut (((op (op (e5) (e3)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha17]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e5) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hf0 zenon_He9). % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply zenon_Ha16. apply refl_equal. % 47.72/47.88 apply zenon_Ha16. apply refl_equal. % 47.72/47.88 apply (zenon_L145_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha12); [ zenon_intro zenon_Ha19 | zenon_intro zenon_Ha18 ]. % 47.72/47.88 cut (((op (e1) (e1)) = (e0)) = ((op (op (e5) (e3)) (e1)) = (op (e5) (op (e3) (e1))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha19. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H12. % 47.72/47.88 cut (((e0) = (op (e5) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H38f]. % 47.72/47.88 cut (((op (e1) (e1)) = (op (op (e5) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha1a]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e3)) (e1)) = (op (op (e5) (e3)) (e1)))); [ zenon_intro zenon_Ha1b | zenon_intro zenon_Ha1c ]. % 47.72/47.88 cut (((op (op (e5) (e3)) (e1)) = (op (op (e5) (e3)) (e1))) = ((op (e1) (e1)) = (op (op (e5) (e3)) (e1)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha1a. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha1b. % 47.72/47.88 cut (((op (op (e5) (e3)) (e1)) = (op (op (e5) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha1c]. % 47.72/47.88 cut (((op (op (e5) (e3)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha1d]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.88 cut (((op (e5) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hf0 zenon_He9). % 47.72/47.88 apply zenon_H5. apply refl_equal. % 47.72/47.88 apply zenon_Ha1c. apply refl_equal. % 47.72/47.88 apply zenon_Ha1c. apply refl_equal. % 47.72/47.88 apply (zenon_L146_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha18); [ zenon_intro zenon_Ha1f | zenon_intro zenon_Ha1e ]. % 47.72/47.88 cut (((op (e1) (e2)) = (e3)) = ((op (op (e5) (e3)) (e2)) = (op (e5) (op (e3) (e2))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha1f. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H1c. % 47.72/47.88 cut (((e3) = (op (e5) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H395]. % 47.72/47.88 cut (((op (e1) (e2)) = (op (op (e5) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha20]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e3)) (e2)) = (op (op (e5) (e3)) (e2)))); [ zenon_intro zenon_Ha21 | zenon_intro zenon_Ha22 ]. % 47.72/47.88 cut (((op (op (e5) (e3)) (e2)) = (op (op (e5) (e3)) (e2))) = ((op (e1) (e2)) = (op (op (e5) (e3)) (e2)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha20. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha21. % 47.72/47.88 cut (((op (op (e5) (e3)) (e2)) = (op (op (e5) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha22]. % 47.72/47.88 cut (((op (op (e5) (e3)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha23]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.88 cut (((op (e5) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hf0 zenon_He9). % 47.72/47.88 apply zenon_H6. apply refl_equal. % 47.72/47.88 apply zenon_Ha22. apply refl_equal. % 47.72/47.88 apply zenon_Ha22. apply refl_equal. % 47.72/47.88 apply (zenon_L147_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha1e); [ zenon_intro zenon_Ha25 | zenon_intro zenon_Ha24 ]. % 47.72/47.88 cut (((op (e1) (e3)) = (e2)) = ((op (op (e5) (e3)) (e3)) = (op (e5) (op (e3) (e3))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha25. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H25. % 47.72/47.88 cut (((e2) = (op (e5) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H39b]. % 47.72/47.88 cut (((op (e1) (e3)) = (op (op (e5) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha26]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e3)) (e3)) = (op (op (e5) (e3)) (e3)))); [ zenon_intro zenon_Ha27 | zenon_intro zenon_Ha28 ]. % 47.72/47.88 cut (((op (op (e5) (e3)) (e3)) = (op (op (e5) (e3)) (e3))) = ((op (e1) (e3)) = (op (op (e5) (e3)) (e3)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha26. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha27. % 47.72/47.88 cut (((op (op (e5) (e3)) (e3)) = (op (op (e5) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha28]. % 47.72/47.88 cut (((op (op (e5) (e3)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha29]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 cut (((op (e5) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hf0 zenon_He9). % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 apply zenon_Ha28. apply refl_equal. % 47.72/47.88 apply zenon_Ha28. apply refl_equal. % 47.72/47.88 apply (zenon_L148_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha24); [ zenon_intro zenon_Ha2b | zenon_intro zenon_Ha2a ]. % 47.72/47.88 cut (((op (e1) (e4)) = (e5)) = ((op (op (e5) (e3)) (e4)) = (op (e5) (op (e3) (e4))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha2b. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H30. % 47.72/47.88 cut (((e5) = (op (e5) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3a1]. % 47.72/47.88 cut (((op (e1) (e4)) = (op (op (e5) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha2c]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e3)) (e4)) = (op (op (e5) (e3)) (e4)))); [ zenon_intro zenon_Ha2d | zenon_intro zenon_Ha2e ]. % 47.72/47.88 cut (((op (op (e5) (e3)) (e4)) = (op (op (e5) (e3)) (e4))) = ((op (e1) (e4)) = (op (op (e5) (e3)) (e4)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha2c. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha2d. % 47.72/47.88 cut (((op (op (e5) (e3)) (e4)) = (op (op (e5) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha2e]. % 47.72/47.88 cut (((op (op (e5) (e3)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha2f]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 cut (((op (e5) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hf0 zenon_He9). % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 apply zenon_Ha2e. apply refl_equal. % 47.72/47.88 apply zenon_Ha2e. apply refl_equal. % 47.72/47.88 apply (zenon_L149_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha2a); [ zenon_intro zenon_Ha31 | zenon_intro zenon_Ha30 ]. % 47.72/47.88 cut (((op (e1) (e5)) = (e4)) = ((op (op (e5) (e3)) (e5)) = (op (e5) (op (e3) (e5))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha31. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H39. % 47.72/47.88 cut (((e4) = (op (e5) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3a7]. % 47.72/47.88 cut (((op (e1) (e5)) = (op (op (e5) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha32]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e3)) (e5)) = (op (op (e5) (e3)) (e5)))); [ zenon_intro zenon_Ha33 | zenon_intro zenon_Ha34 ]. % 47.72/47.88 cut (((op (op (e5) (e3)) (e5)) = (op (op (e5) (e3)) (e5))) = ((op (e1) (e5)) = (op (op (e5) (e3)) (e5)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha32. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha33. % 47.72/47.88 cut (((op (op (e5) (e3)) (e5)) = (op (op (e5) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha34]. % 47.72/47.88 cut (((op (op (e5) (e3)) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha35]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 cut (((op (e5) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hf0 zenon_He9). % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 apply zenon_Ha34. apply refl_equal. % 47.72/47.88 apply zenon_Ha34. apply refl_equal. % 47.72/47.88 apply (zenon_L150_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha30); [ zenon_intro zenon_Ha37 | zenon_intro zenon_Ha36 ]. % 47.72/47.88 cut (((op (e2) (e0)) = (e2)) = ((op (op (e5) (e4)) (e0)) = (op (e5) (op (e4) (e0))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha37. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H41. % 47.72/47.88 cut (((e2) = (op (e5) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H3ad]. % 47.72/47.88 cut (((op (e2) (e0)) = (op (op (e5) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha38]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e4)) (e0)) = (op (op (e5) (e4)) (e0)))); [ zenon_intro zenon_Ha39 | zenon_intro zenon_Ha3a ]. % 47.72/47.88 cut (((op (op (e5) (e4)) (e0)) = (op (op (e5) (e4)) (e0))) = ((op (e2) (e0)) = (op (op (e5) (e4)) (e0)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha38. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha39. % 47.72/47.88 cut (((op (op (e5) (e4)) (e0)) = (op (op (e5) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha3a]. % 47.72/47.88 cut (((op (op (e5) (e4)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha3b]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e5) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hf8 zenon_Hf1). % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply zenon_Ha3a. apply refl_equal. % 47.72/47.88 apply zenon_Ha3a. apply refl_equal. % 47.72/47.88 apply (zenon_L151_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha36); [ zenon_intro zenon_Ha3d | zenon_intro zenon_Ha3c ]. % 47.72/47.88 cut (((op (e2) (e1)) = (e4)) = ((op (op (e5) (e4)) (e1)) = (op (e5) (op (e4) (e1))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha3d. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H49. % 47.72/47.88 cut (((e4) = (op (e5) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H3b3]. % 47.72/47.88 cut (((op (e2) (e1)) = (op (op (e5) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha3e]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e4)) (e1)) = (op (op (e5) (e4)) (e1)))); [ zenon_intro zenon_Ha3f | zenon_intro zenon_Ha40 ]. % 47.72/47.88 cut (((op (op (e5) (e4)) (e1)) = (op (op (e5) (e4)) (e1))) = ((op (e2) (e1)) = (op (op (e5) (e4)) (e1)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha3e. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha3f. % 47.72/47.88 cut (((op (op (e5) (e4)) (e1)) = (op (op (e5) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha40]. % 47.72/47.88 cut (((op (op (e5) (e4)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha41]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.88 cut (((op (e5) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hf8 zenon_Hf1). % 47.72/47.88 apply zenon_H5. apply refl_equal. % 47.72/47.88 apply zenon_Ha40. apply refl_equal. % 47.72/47.88 apply zenon_Ha40. apply refl_equal. % 47.72/47.88 apply (zenon_L152_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha3c); [ zenon_intro zenon_Ha43 | zenon_intro zenon_Ha42 ]. % 47.72/47.88 cut (((op (e2) (e2)) = (e0)) = ((op (op (e5) (e4)) (e2)) = (op (e5) (op (e4) (e2))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha43. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H51. % 47.72/47.88 cut (((e0) = (op (e5) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H3b9]. % 47.72/47.88 cut (((op (e2) (e2)) = (op (op (e5) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha44]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e4)) (e2)) = (op (op (e5) (e4)) (e2)))); [ zenon_intro zenon_Ha45 | zenon_intro zenon_Ha46 ]. % 47.72/47.88 cut (((op (op (e5) (e4)) (e2)) = (op (op (e5) (e4)) (e2))) = ((op (e2) (e2)) = (op (op (e5) (e4)) (e2)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha44. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha45. % 47.72/47.88 cut (((op (op (e5) (e4)) (e2)) = (op (op (e5) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha46]. % 47.72/47.88 cut (((op (op (e5) (e4)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha47]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.88 cut (((op (e5) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hf8 zenon_Hf1). % 47.72/47.88 apply zenon_H6. apply refl_equal. % 47.72/47.88 apply zenon_Ha46. apply refl_equal. % 47.72/47.88 apply zenon_Ha46. apply refl_equal. % 47.72/47.88 apply (zenon_L153_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha42); [ zenon_intro zenon_Ha49 | zenon_intro zenon_Ha48 ]. % 47.72/47.88 cut (((op (e2) (e3)) = (e5)) = ((op (op (e5) (e4)) (e3)) = (op (e5) (op (e4) (e3))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha49. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H59. % 47.72/47.88 cut (((e5) = (op (e5) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H3bf]. % 47.72/47.88 cut (((op (e2) (e3)) = (op (op (e5) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha4a]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e4)) (e3)) = (op (op (e5) (e4)) (e3)))); [ zenon_intro zenon_Ha4b | zenon_intro zenon_Ha4c ]. % 47.72/47.88 cut (((op (op (e5) (e4)) (e3)) = (op (op (e5) (e4)) (e3))) = ((op (e2) (e3)) = (op (op (e5) (e4)) (e3)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha4a. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha4b. % 47.72/47.88 cut (((op (op (e5) (e4)) (e3)) = (op (op (e5) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha4c]. % 47.72/47.88 cut (((op (op (e5) (e4)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha4d]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 cut (((op (e5) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hf8 zenon_Hf1). % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 apply zenon_Ha4c. apply refl_equal. % 47.72/47.88 apply zenon_Ha4c. apply refl_equal. % 47.72/47.88 apply (zenon_L154_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha48); [ zenon_intro zenon_Ha4f | zenon_intro zenon_Ha4e ]. % 47.72/47.88 cut (((op (e2) (e4)) = (e1)) = ((op (op (e5) (e4)) (e4)) = (op (e5) (op (e4) (e4))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha4f. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H61. % 47.72/47.88 cut (((e1) = (op (e5) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3c5]. % 47.72/47.88 cut (((op (e2) (e4)) = (op (op (e5) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha50]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e4)) (e4)) = (op (op (e5) (e4)) (e4)))); [ zenon_intro zenon_Ha51 | zenon_intro zenon_Ha52 ]. % 47.72/47.88 cut (((op (op (e5) (e4)) (e4)) = (op (op (e5) (e4)) (e4))) = ((op (e2) (e4)) = (op (op (e5) (e4)) (e4)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha50. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha51. % 47.72/47.88 cut (((op (op (e5) (e4)) (e4)) = (op (op (e5) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha52]. % 47.72/47.88 cut (((op (op (e5) (e4)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha53]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 cut (((op (e5) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hf8 zenon_Hf1). % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 apply zenon_Ha52. apply refl_equal. % 47.72/47.88 apply zenon_Ha52. apply refl_equal. % 47.72/47.88 apply (zenon_L155_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha4e); [ zenon_intro zenon_Ha55 | zenon_intro zenon_Ha54 ]. % 47.72/47.88 cut (((op (e2) (e5)) = (e3)) = ((op (op (e5) (e4)) (e5)) = (op (e5) (op (e4) (e5))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha55. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H69. % 47.72/47.88 cut (((e3) = (op (e5) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3cb]. % 47.72/47.88 cut (((op (e2) (e5)) = (op (op (e5) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha56]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e4)) (e5)) = (op (op (e5) (e4)) (e5)))); [ zenon_intro zenon_Ha57 | zenon_intro zenon_Ha58 ]. % 47.72/47.88 cut (((op (op (e5) (e4)) (e5)) = (op (op (e5) (e4)) (e5))) = ((op (e2) (e5)) = (op (op (e5) (e4)) (e5)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha56. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha57. % 47.72/47.88 cut (((op (op (e5) (e4)) (e5)) = (op (op (e5) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha58]. % 47.72/47.88 cut (((op (op (e5) (e4)) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha59]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 cut (((op (e5) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hf8 zenon_Hf1). % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 apply zenon_Ha58. apply refl_equal. % 47.72/47.88 apply zenon_Ha58. apply refl_equal. % 47.72/47.88 apply (zenon_L156_); trivial. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha54); [ zenon_intro zenon_Ha5b | zenon_intro zenon_Ha5a ]. % 47.72/47.88 cut (((op (e0) (e0)) = (e0)) = ((op (op (e5) (e5)) (e0)) = (op (e5) (op (e5) (e0))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha5b. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H11. % 47.72/47.88 cut (((e0) = (op (e5) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha5c]. % 47.72/47.88 cut (((op (e0) (e0)) = (op (op (e5) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha5d]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e5)) (e0)) = (op (op (e5) (e5)) (e0)))); [ zenon_intro zenon_Ha5e | zenon_intro zenon_Ha5f ]. % 47.72/47.88 cut (((op (op (e5) (e5)) (e0)) = (op (op (e5) (e5)) (e0))) = ((op (e0) (e0)) = (op (op (e5) (e5)) (e0)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha5d. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha5e. % 47.72/47.88 cut (((op (op (e5) (e5)) (e0)) = (op (op (e5) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha5f]. % 47.72/47.88 cut (((op (op (e5) (e5)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha60]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e5) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_H100 zenon_Hf9). % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply zenon_Ha5f. apply refl_equal. % 47.72/47.88 apply zenon_Ha5f. apply refl_equal. % 47.72/47.88 elim (classic ((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0))))); [ zenon_intro zenon_Ha61 | zenon_intro zenon_Ha62 ]. % 47.72/47.88 cut (((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0)))) = ((e0) = (op (e5) (op (e5) (e0))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha5c. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha61. % 47.72/47.88 cut (((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha62]. % 47.72/47.88 cut (((op (e5) (op (e5) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Ha63]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e5) (e5)) = (e0)) = ((op (e5) (op (e5) (e0))) = (e0))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha63. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hf9. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e5) (e5)) = (op (e5) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha64]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0))))); [ zenon_intro zenon_Ha61 | zenon_intro zenon_Ha62 ]. % 47.72/47.88 cut (((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0)))) = ((op (e5) (e5)) = (op (e5) (op (e5) (e0))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha64. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha61. % 47.72/47.88 cut (((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha62]. % 47.72/47.88 cut (((op (e5) (op (e5) (e0))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha65]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 exact (zenon_Hd8 zenon_Hd1). % 47.72/47.88 apply zenon_Ha62. apply refl_equal. % 47.72/47.88 apply zenon_Ha62. apply refl_equal. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply zenon_Ha62. apply refl_equal. % 47.72/47.88 apply zenon_Ha62. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha5a); [ zenon_intro zenon_Ha67 | zenon_intro zenon_Ha66 ]. % 47.72/47.88 cut (((op (e0) (e1)) = (e1)) = ((op (op (e5) (e5)) (e1)) = (op (e5) (op (e5) (e1))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha67. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H8. % 47.72/47.88 cut (((e1) = (op (e5) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha68]. % 47.72/47.88 cut (((op (e0) (e1)) = (op (op (e5) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha69]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e5)) (e1)) = (op (op (e5) (e5)) (e1)))); [ zenon_intro zenon_Ha6a | zenon_intro zenon_Ha6b ]. % 47.72/47.88 cut (((op (op (e5) (e5)) (e1)) = (op (op (e5) (e5)) (e1))) = ((op (e0) (e1)) = (op (op (e5) (e5)) (e1)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha69. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha6a. % 47.72/47.88 cut (((op (op (e5) (e5)) (e1)) = (op (op (e5) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha6b]. % 47.72/47.88 cut (((op (op (e5) (e5)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha6c]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.88 cut (((op (e5) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_H100 zenon_Hf9). % 47.72/47.88 apply zenon_H5. apply refl_equal. % 47.72/47.88 apply zenon_Ha6b. apply refl_equal. % 47.72/47.88 apply zenon_Ha6b. apply refl_equal. % 47.72/47.88 elim (classic ((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1))))); [ zenon_intro zenon_Ha6d | zenon_intro zenon_Ha6e ]. % 47.72/47.88 cut (((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1)))) = ((e1) = (op (e5) (op (e5) (e1))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha68. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha6d. % 47.72/47.88 cut (((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha6e]. % 47.72/47.88 cut (((op (e5) (op (e5) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Ha6f]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e5) (e3)) = (e1)) = ((op (e5) (op (e5) (e1))) = (e1))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha6f. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_He9. % 47.72/47.88 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.88 cut (((op (e5) (e3)) = (op (e5) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha70]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1))))); [ zenon_intro zenon_Ha6d | zenon_intro zenon_Ha6e ]. % 47.72/47.88 cut (((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1)))) = ((op (e5) (e3)) = (op (e5) (op (e5) (e1))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha70. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha6d. % 47.72/47.88 cut (((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha6e]. % 47.72/47.88 cut (((op (e5) (op (e5) (e1))) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha71]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 exact (zenon_He0 zenon_Hd9). % 47.72/47.88 apply zenon_Ha6e. apply refl_equal. % 47.72/47.88 apply zenon_Ha6e. apply refl_equal. % 47.72/47.88 apply zenon_H5. apply refl_equal. % 47.72/47.88 apply zenon_Ha6e. apply refl_equal. % 47.72/47.88 apply zenon_Ha6e. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha66); [ zenon_intro zenon_Ha73 | zenon_intro zenon_Ha72 ]. % 47.72/47.88 cut (((op (e0) (e2)) = (e2)) = ((op (op (e5) (e5)) (e2)) = (op (e5) (op (e5) (e2))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha73. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H24. % 47.72/47.88 cut (((e2) = (op (e5) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Ha74]. % 47.72/47.88 cut (((op (e0) (e2)) = (op (op (e5) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha75]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e5)) (e2)) = (op (op (e5) (e5)) (e2)))); [ zenon_intro zenon_Ha76 | zenon_intro zenon_Ha77 ]. % 47.72/47.88 cut (((op (op (e5) (e5)) (e2)) = (op (op (e5) (e5)) (e2))) = ((op (e0) (e2)) = (op (op (e5) (e5)) (e2)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha75. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha76. % 47.72/47.88 cut (((op (op (e5) (e5)) (e2)) = (op (op (e5) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha77]. % 47.72/47.88 cut (((op (op (e5) (e5)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha78]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.88 cut (((op (e5) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_H100 zenon_Hf9). % 47.72/47.88 apply zenon_H6. apply refl_equal. % 47.72/47.88 apply zenon_Ha77. apply refl_equal. % 47.72/47.88 apply zenon_Ha77. apply refl_equal. % 47.72/47.88 elim (classic ((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2))))); [ zenon_intro zenon_Ha79 | zenon_intro zenon_Ha7a ]. % 47.72/47.88 cut (((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2)))) = ((e2) = (op (e5) (op (e5) (e2))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha74. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha79. % 47.72/47.88 cut (((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Ha7a]. % 47.72/47.88 cut (((op (e5) (op (e5) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha7b]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e5) (e4)) = (e2)) = ((op (e5) (op (e5) (e2))) = (e2))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha7b. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hf1. % 47.72/47.88 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.88 cut (((op (e5) (e4)) = (op (e5) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Ha7c]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2))))); [ zenon_intro zenon_Ha79 | zenon_intro zenon_Ha7a ]. % 47.72/47.88 cut (((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2)))) = ((op (e5) (e4)) = (op (e5) (op (e5) (e2))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha7c. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha79. % 47.72/47.88 cut (((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Ha7a]. % 47.72/47.88 cut (((op (e5) (op (e5) (e2))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha7d]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e5) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 exact (zenon_He8 zenon_He1). % 47.72/47.88 apply zenon_Ha7a. apply refl_equal. % 47.72/47.88 apply zenon_Ha7a. apply refl_equal. % 47.72/47.88 apply zenon_H6. apply refl_equal. % 47.72/47.88 apply zenon_Ha7a. apply refl_equal. % 47.72/47.88 apply zenon_Ha7a. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha72); [ zenon_intro zenon_Ha7f | zenon_intro zenon_Ha7e ]. % 47.72/47.88 cut (((op (e0) (e3)) = (e3)) = ((op (op (e5) (e5)) (e3)) = (op (e5) (op (e5) (e3))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha7f. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H1b. % 47.72/47.88 cut (((e3) = (op (e5) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Ha80]. % 47.72/47.88 cut (((op (e0) (e3)) = (op (op (e5) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha81]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e5)) (e3)) = (op (op (e5) (e5)) (e3)))); [ zenon_intro zenon_Ha82 | zenon_intro zenon_Ha83 ]. % 47.72/47.88 cut (((op (op (e5) (e5)) (e3)) = (op (op (e5) (e5)) (e3))) = ((op (e0) (e3)) = (op (op (e5) (e5)) (e3)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha81. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha82. % 47.72/47.88 cut (((op (op (e5) (e5)) (e3)) = (op (op (e5) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha83]. % 47.72/47.88 cut (((op (op (e5) (e5)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha84]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 cut (((op (e5) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_H100 zenon_Hf9). % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 apply zenon_Ha83. apply refl_equal. % 47.72/47.88 apply zenon_Ha83. apply refl_equal. % 47.72/47.88 elim (classic ((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3))))); [ zenon_intro zenon_Ha85 | zenon_intro zenon_Ha86 ]. % 47.72/47.88 cut (((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3)))) = ((e3) = (op (e5) (op (e5) (e3))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha80. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha85. % 47.72/47.88 cut (((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Ha86]. % 47.72/47.88 cut (((op (e5) (op (e5) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Ha87]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e5) (e1)) = (e3)) = ((op (e5) (op (e5) (e3))) = (e3))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha87. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hd9. % 47.72/47.88 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 cut (((op (e5) (e1)) = (op (e5) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Ha88]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3))))); [ zenon_intro zenon_Ha85 | zenon_intro zenon_Ha86 ]. % 47.72/47.88 cut (((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3)))) = ((op (e5) (e1)) = (op (e5) (op (e5) (e3))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha88. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha85. % 47.72/47.88 cut (((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Ha86]. % 47.72/47.88 cut (((op (e5) (op (e5) (e3))) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha89]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e5) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 exact (zenon_Hf0 zenon_He9). % 47.72/47.88 apply zenon_Ha86. apply refl_equal. % 47.72/47.88 apply zenon_Ha86. apply refl_equal. % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 apply zenon_Ha86. apply refl_equal. % 47.72/47.88 apply zenon_Ha86. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha7e); [ zenon_intro zenon_Ha8b | zenon_intro zenon_Ha8a ]. % 47.72/47.88 cut (((op (e0) (e4)) = (e4)) = ((op (op (e5) (e5)) (e4)) = (op (e5) (op (e5) (e4))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha8b. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H38. % 47.72/47.88 cut (((e4) = (op (e5) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Ha8c]. % 47.72/47.88 cut (((op (e0) (e4)) = (op (op (e5) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha8d]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e5)) (e4)) = (op (op (e5) (e5)) (e4)))); [ zenon_intro zenon_Ha8e | zenon_intro zenon_Ha8f ]. % 47.72/47.88 cut (((op (op (e5) (e5)) (e4)) = (op (op (e5) (e5)) (e4))) = ((op (e0) (e4)) = (op (op (e5) (e5)) (e4)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha8d. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha8e. % 47.72/47.88 cut (((op (op (e5) (e5)) (e4)) = (op (op (e5) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha8f]. % 47.72/47.88 cut (((op (op (e5) (e5)) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha90]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 cut (((op (e5) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_H100 zenon_Hf9). % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 apply zenon_Ha8f. apply refl_equal. % 47.72/47.88 apply zenon_Ha8f. apply refl_equal. % 47.72/47.88 elim (classic ((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4))))); [ zenon_intro zenon_Ha91 | zenon_intro zenon_Ha92 ]. % 47.72/47.88 cut (((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4)))) = ((e4) = (op (e5) (op (e5) (e4))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha8c. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha91. % 47.72/47.88 cut (((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Ha92]. % 47.72/47.88 cut (((op (e5) (op (e5) (e4))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha93]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e5) (e2)) = (e4)) = ((op (e5) (op (e5) (e4))) = (e4))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha93. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_He1. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 cut (((op (e5) (e2)) = (op (e5) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Ha94]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4))))); [ zenon_intro zenon_Ha91 | zenon_intro zenon_Ha92 ]. % 47.72/47.88 cut (((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4)))) = ((op (e5) (e2)) = (op (e5) (op (e5) (e4))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha94. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha91. % 47.72/47.88 cut (((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Ha92]. % 47.72/47.88 cut (((op (e5) (op (e5) (e4))) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha95]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e5) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 exact (zenon_Hf8 zenon_Hf1). % 47.72/47.88 apply zenon_Ha92. apply refl_equal. % 47.72/47.88 apply zenon_Ha92. apply refl_equal. % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 apply zenon_Ha92. apply refl_equal. % 47.72/47.88 apply zenon_Ha92. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha8a); [ zenon_intro zenon_Ha97 | zenon_intro zenon_Ha96 ]. % 47.72/47.88 cut (((op (e0) (e5)) = (e5)) = ((op (op (e5) (e5)) (e5)) = (op (e5) (op (e5) (e5))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha97. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H2f. % 47.72/47.88 cut (((e5) = (op (e5) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Ha98]. % 47.72/47.88 cut (((op (e0) (e5)) = (op (op (e5) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha99]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (op (e5) (e5)) (e5)) = (op (op (e5) (e5)) (e5)))); [ zenon_intro zenon_Ha9a | zenon_intro zenon_Ha9b ]. % 47.72/47.88 cut (((op (op (e5) (e5)) (e5)) = (op (op (e5) (e5)) (e5))) = ((op (e0) (e5)) = (op (op (e5) (e5)) (e5)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha99. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha9a. % 47.72/47.88 cut (((op (op (e5) (e5)) (e5)) = (op (op (e5) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha9b]. % 47.72/47.88 cut (((op (op (e5) (e5)) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha9c]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 cut (((op (e5) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_H100 zenon_Hf9). % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 apply zenon_Ha9b. apply refl_equal. % 47.72/47.88 apply zenon_Ha9b. apply refl_equal. % 47.72/47.88 elim (classic ((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5))))); [ zenon_intro zenon_Ha9d | zenon_intro zenon_Ha9e ]. % 47.72/47.88 cut (((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5)))) = ((e5) = (op (e5) (op (e5) (e5))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha98. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha9d. % 47.72/47.88 cut (((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Ha9e]. % 47.72/47.88 cut (((op (e5) (op (e5) (e5))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Ha9f]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e5) (e0)) = (e5)) = ((op (e5) (op (e5) (e5))) = (e5))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Ha9f. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hd1. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 cut (((op (e5) (e0)) = (op (e5) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Haa0]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5))))); [ zenon_intro zenon_Ha9d | zenon_intro zenon_Ha9e ]. % 47.72/47.88 cut (((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5)))) = ((op (e5) (e0)) = (op (e5) (op (e5) (e5))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Haa0. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha9d. % 47.72/47.88 cut (((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Ha9e]. % 47.72/47.88 cut (((op (e5) (op (e5) (e5))) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Haa1]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((op (e5) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H100]. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 exact (zenon_H100 zenon_Hf9). % 47.72/47.88 apply zenon_Ha9e. apply refl_equal. % 47.72/47.88 apply zenon_Ha9e. apply refl_equal. % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 apply zenon_Ha9e. apply refl_equal. % 47.72/47.88 apply zenon_Ha9e. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Ha96); [ zenon_intro zenon_Haa3 | zenon_intro zenon_Haa2 ]. % 47.72/47.88 cut (((op (e0) (e0)) = (e0)) = ((op (unit) (e0)) = (e0))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Haa3. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H11. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e0) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Haa4]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (unit) (e0)) = (op (unit) (e0)))); [ zenon_intro zenon_Haa5 | zenon_intro zenon_Haa6 ]. % 47.72/47.88 cut (((op (unit) (e0)) = (op (unit) (e0))) = ((op (e0) (e0)) = (op (unit) (e0)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Haa4. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Haa5. % 47.72/47.88 cut (((op (unit) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Haa6]. % 47.72/47.88 cut (((op (unit) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Haa7]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_H3d1 ax3). % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply zenon_Haa6. apply refl_equal. % 47.72/47.88 apply zenon_Haa6. apply refl_equal. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Haa2); [ zenon_intro zenon_Haa9 | zenon_intro zenon_Haa8 ]. % 47.72/47.88 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (unit)) = (e0))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Haa9. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H11. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e0) (e0)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Haaa]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e0) (unit)) = (op (e0) (unit)))); [ zenon_intro zenon_Haab | zenon_intro zenon_Haac ]. % 47.72/47.88 cut (((op (e0) (unit)) = (op (e0) (unit))) = ((op (e0) (e0)) = (op (e0) (unit)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Haaa. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Haab. % 47.72/47.88 cut (((op (e0) (unit)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Haac]. % 47.72/47.88 cut (((op (e0) (unit)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Haad]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 exact (zenon_H3d1 ax3). % 47.72/47.88 apply zenon_Haac. apply refl_equal. % 47.72/47.88 apply zenon_Haac. apply refl_equal. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Haa8); [ zenon_intro zenon_Haaf | zenon_intro zenon_Haae ]. % 47.72/47.88 cut (((op (e0) (e1)) = (e1)) = ((op (unit) (e1)) = (e1))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Haaf. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H8. % 47.72/47.88 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.88 cut (((op (e0) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hab0]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (unit) (e1)) = (op (unit) (e1)))); [ zenon_intro zenon_Hab1 | zenon_intro zenon_Hab2 ]. % 47.72/47.88 cut (((op (unit) (e1)) = (op (unit) (e1))) = ((op (e0) (e1)) = (op (unit) (e1)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hab0. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hab1. % 47.72/47.88 cut (((op (unit) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hab2]. % 47.72/47.88 cut (((op (unit) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hab3]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.88 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_H3d1 ax3). % 47.72/47.88 apply zenon_H5. apply refl_equal. % 47.72/47.88 apply zenon_Hab2. apply refl_equal. % 47.72/47.88 apply zenon_Hab2. apply refl_equal. % 47.72/47.88 apply zenon_H5. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Haae); [ zenon_intro zenon_Hab5 | zenon_intro zenon_Hab4 ]. % 47.72/47.88 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (unit)) = (e1))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hab5. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H9. % 47.72/47.88 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.88 cut (((op (e1) (e0)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hab6]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e1) (unit)) = (op (e1) (unit)))); [ zenon_intro zenon_Hab7 | zenon_intro zenon_Hab8 ]. % 47.72/47.88 cut (((op (e1) (unit)) = (op (e1) (unit))) = ((op (e1) (e0)) = (op (e1) (unit)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hab6. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hab7. % 47.72/47.88 cut (((op (e1) (unit)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hab8]. % 47.72/47.88 cut (((op (e1) (unit)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hab9]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.72/47.88 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H5. apply refl_equal. % 47.72/47.88 exact (zenon_H3d1 ax3). % 47.72/47.88 apply zenon_Hab8. apply refl_equal. % 47.72/47.88 apply zenon_Hab8. apply refl_equal. % 47.72/47.88 apply zenon_H5. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hab4); [ zenon_intro zenon_Habb | zenon_intro zenon_Haba ]. % 47.72/47.88 cut (((op (e0) (e2)) = (e2)) = ((op (unit) (e2)) = (e2))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Habb. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H24. % 47.72/47.88 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.88 cut (((op (e0) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Habc]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (unit) (e2)) = (op (unit) (e2)))); [ zenon_intro zenon_Habd | zenon_intro zenon_Habe ]. % 47.72/47.88 cut (((op (unit) (e2)) = (op (unit) (e2))) = ((op (e0) (e2)) = (op (unit) (e2)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Habc. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Habd. % 47.72/47.88 cut (((op (unit) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Habe]. % 47.72/47.88 cut (((op (unit) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Habf]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.88 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_H3d1 ax3). % 47.72/47.88 apply zenon_H6. apply refl_equal. % 47.72/47.88 apply zenon_Habe. apply refl_equal. % 47.72/47.88 apply zenon_Habe. apply refl_equal. % 47.72/47.88 apply zenon_H6. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Haba); [ zenon_intro zenon_Hac1 | zenon_intro zenon_Hac0 ]. % 47.72/47.88 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (unit)) = (e2))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hac1. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H41. % 47.72/47.88 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.88 cut (((op (e2) (e0)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hac2]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e2) (unit)) = (op (e2) (unit)))); [ zenon_intro zenon_Hac3 | zenon_intro zenon_Hac4 ]. % 47.72/47.88 cut (((op (e2) (unit)) = (op (e2) (unit))) = ((op (e2) (e0)) = (op (e2) (unit)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hac2. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hac3. % 47.72/47.88 cut (((op (e2) (unit)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hac4]. % 47.72/47.88 cut (((op (e2) (unit)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hac5]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.72/47.88 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H6. apply refl_equal. % 47.72/47.88 exact (zenon_H3d1 ax3). % 47.72/47.88 apply zenon_Hac4. apply refl_equal. % 47.72/47.88 apply zenon_Hac4. apply refl_equal. % 47.72/47.88 apply zenon_H6. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hac0); [ zenon_intro zenon_Hac7 | zenon_intro zenon_Hac6 ]. % 47.72/47.88 cut (((op (e0) (e3)) = (e3)) = ((op (unit) (e3)) = (e3))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hac7. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H1b. % 47.72/47.88 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 cut (((op (e0) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hac8]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (unit) (e3)) = (op (unit) (e3)))); [ zenon_intro zenon_Hac9 | zenon_intro zenon_Haca ]. % 47.72/47.88 cut (((op (unit) (e3)) = (op (unit) (e3))) = ((op (e0) (e3)) = (op (unit) (e3)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hac8. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hac9. % 47.72/47.88 cut (((op (unit) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Haca]. % 47.72/47.88 cut (((op (unit) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hacb]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_H3d1 ax3). % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 apply zenon_Haca. apply refl_equal. % 47.72/47.88 apply zenon_Haca. apply refl_equal. % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hac6); [ zenon_intro zenon_Hacd | zenon_intro zenon_Hacc ]. % 47.72/47.88 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (unit)) = (e3))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hacd. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H71. % 47.72/47.88 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 cut (((op (e3) (e0)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hace]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e3) (unit)) = (op (e3) (unit)))); [ zenon_intro zenon_Hacf | zenon_intro zenon_Had0 ]. % 47.72/47.88 cut (((op (e3) (unit)) = (op (e3) (unit))) = ((op (e3) (e0)) = (op (e3) (unit)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hace. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hacf. % 47.72/47.88 cut (((op (e3) (unit)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Had0]. % 47.72/47.88 cut (((op (e3) (unit)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Had1]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.72/47.88 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 exact (zenon_H3d1 ax3). % 47.72/47.88 apply zenon_Had0. apply refl_equal. % 47.72/47.88 apply zenon_Had0. apply refl_equal. % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hacc); [ zenon_intro zenon_Had3 | zenon_intro zenon_Had2 ]. % 47.72/47.88 cut (((op (e0) (e4)) = (e4)) = ((op (unit) (e4)) = (e4))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Had3. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H38. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 cut (((op (e0) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Had4]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (unit) (e4)) = (op (unit) (e4)))); [ zenon_intro zenon_Had5 | zenon_intro zenon_Had6 ]. % 47.72/47.88 cut (((op (unit) (e4)) = (op (unit) (e4))) = ((op (e0) (e4)) = (op (unit) (e4)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Had4. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Had5. % 47.72/47.88 cut (((op (unit) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Had6]. % 47.72/47.88 cut (((op (unit) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Had7]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_H3d1 ax3). % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 apply zenon_Had6. apply refl_equal. % 47.72/47.88 apply zenon_Had6. apply refl_equal. % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Had2); [ zenon_intro zenon_Had9 | zenon_intro zenon_Had8 ]. % 47.72/47.88 cut (((op (e4) (e0)) = (e4)) = ((op (e4) (unit)) = (e4))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Had9. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Ha1. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 cut (((op (e4) (e0)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hada]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e4) (unit)) = (op (e4) (unit)))); [ zenon_intro zenon_Hadb | zenon_intro zenon_Hadc ]. % 47.72/47.88 cut (((op (e4) (unit)) = (op (e4) (unit))) = ((op (e4) (e0)) = (op (e4) (unit)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hada. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hadb. % 47.72/47.88 cut (((op (e4) (unit)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hadc]. % 47.72/47.88 cut (((op (e4) (unit)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hadd]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 exact (zenon_H3d1 ax3). % 47.72/47.88 apply zenon_Hadc. apply refl_equal. % 47.72/47.88 apply zenon_Hadc. apply refl_equal. % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Had8); [ zenon_intro zenon_Hadf | zenon_intro zenon_Hade ]. % 47.72/47.88 cut (((op (e0) (e5)) = (e5)) = ((op (unit) (e5)) = (e5))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hadf. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H2f. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 cut (((op (e0) (e5)) = (op (unit) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hae0]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (unit) (e5)) = (op (unit) (e5)))); [ zenon_intro zenon_Hae1 | zenon_intro zenon_Hae2 ]. % 47.72/47.88 cut (((op (unit) (e5)) = (op (unit) (e5))) = ((op (e0) (e5)) = (op (unit) (e5)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hae0. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hae1. % 47.72/47.88 cut (((op (unit) (e5)) = (op (unit) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hae2]. % 47.72/47.88 cut (((op (unit) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hae3]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_H3d1 ax3). % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 apply zenon_Hae2. apply refl_equal. % 47.72/47.88 apply zenon_Hae2. apply refl_equal. % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hade); [ zenon_intro zenon_Hae5 | zenon_intro zenon_Hae4 ]. % 47.72/47.88 cut (((op (e5) (e0)) = (e5)) = ((op (e5) (unit)) = (e5))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hae5. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hd1. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 cut (((op (e5) (e0)) = (op (e5) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hae6]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e5) (unit)) = (op (e5) (unit)))); [ zenon_intro zenon_Hae7 | zenon_intro zenon_Hae8 ]. % 47.72/47.88 cut (((op (e5) (unit)) = (op (e5) (unit))) = ((op (e5) (e0)) = (op (e5) (unit)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hae6. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hae7. % 47.72/47.88 cut (((op (e5) (unit)) = (op (e5) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hae8]. % 47.72/47.88 cut (((op (e5) (unit)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hae9]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1]. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 exact (zenon_H3d1 ax3). % 47.72/47.88 apply zenon_Hae8. apply refl_equal. % 47.72/47.88 apply zenon_Hae8. apply refl_equal. % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hae4); [ zenon_intro zenon_Haeb | zenon_intro zenon_Haea ]. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Haeb). zenon_intro zenon_H3d1. zenon_intro zenon_Haec. % 47.72/47.88 exact (zenon_H3d1 ax3). % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Haea); [ zenon_intro zenon_Haee | zenon_intro zenon_Haed ]. % 47.72/47.88 apply (zenon_congruence_lr_s _ (fun zenon_Vh : _ => (~((op (e0) (inv (e0))) = zenon_Vh))) _ _ zenon_Haee ax3). zenon_intro zenon_Haef. % 47.72/47.88 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (inv (e0))) = (e0))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Haef. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H11. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e0) (e0)) = (op (e0) (inv (e0))))); [idtac | apply NNPP; zenon_intro zenon_Haf0]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e0) (inv (e0))) = (op (e0) (inv (e0))))); [ zenon_intro zenon_Haf1 | zenon_intro zenon_Haf2 ]. % 47.72/47.88 cut (((op (e0) (inv (e0))) = (op (e0) (inv (e0)))) = ((op (e0) (e0)) = (op (e0) (inv (e0))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Haf0. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Haf1. % 47.72/47.88 cut (((op (e0) (inv (e0))) = (op (e0) (inv (e0))))); [idtac | apply NNPP; zenon_intro zenon_Haf2]. % 47.72/47.88 cut (((op (e0) (inv (e0))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Haf3]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((inv (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Haf4]. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 exact (zenon_Haf4 zenon_H401). % 47.72/47.88 apply zenon_Haf2. apply refl_equal. % 47.72/47.88 apply zenon_Haf2. apply refl_equal. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Haed); [ zenon_intro zenon_Haf6 | zenon_intro zenon_Haf5 ]. % 47.72/47.88 apply (zenon_congruence_lr_s _ (fun zenon_Vj : _ => (~((op (inv (e0)) (e0)) = zenon_Vj))) _ _ zenon_Haf6 ax3). zenon_intro zenon_Haf7. % 47.72/47.88 cut (((op (e0) (e0)) = (e0)) = ((op (inv (e0)) (e0)) = (e0))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Haf7. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H11. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e0) (e0)) = (op (inv (e0)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Haf8]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (inv (e0)) (e0)) = (op (inv (e0)) (e0)))); [ zenon_intro zenon_Haf9 | zenon_intro zenon_Hafa ]. % 47.72/47.88 cut (((op (inv (e0)) (e0)) = (op (inv (e0)) (e0))) = ((op (e0) (e0)) = (op (inv (e0)) (e0)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Haf8. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Haf9. % 47.72/47.88 cut (((op (inv (e0)) (e0)) = (op (inv (e0)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hafa]. % 47.72/47.88 cut (((op (inv (e0)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hafb]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((inv (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Haf4]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Haf4 zenon_H401). % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply zenon_Hafa. apply refl_equal. % 47.72/47.88 apply zenon_Hafa. apply refl_equal. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Haf5); [ zenon_intro zenon_Hafd | zenon_intro zenon_Hafc ]. % 47.72/47.88 apply (zenon_congruence_lr_s _ (fun zenon_Vl : _ => (~((op (e1) (inv (e1))) = zenon_Vl))) _ _ zenon_Hafd ax3). zenon_intro zenon_Hafe. % 47.72/47.88 cut (((op (e1) (e1)) = (e0)) = ((op (e1) (inv (e1))) = (e0))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hafe. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H12. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e1) (e1)) = (op (e1) (inv (e1))))); [idtac | apply NNPP; zenon_intro zenon_Haff]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e1) (inv (e1))) = (op (e1) (inv (e1))))); [ zenon_intro zenon_Hb00 | zenon_intro zenon_Hb01 ]. % 47.72/47.88 cut (((op (e1) (inv (e1))) = (op (e1) (inv (e1)))) = ((op (e1) (e1)) = (op (e1) (inv (e1))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Haff. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hb00. % 47.72/47.88 cut (((op (e1) (inv (e1))) = (op (e1) (inv (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hb01]. % 47.72/47.88 cut (((op (e1) (inv (e1))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hb02]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((inv (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hb03]. % 47.72/47.88 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H5. apply refl_equal. % 47.72/47.88 exact (zenon_Hb03 zenon_H403). % 47.72/47.88 apply zenon_Hb01. apply refl_equal. % 47.72/47.88 apply zenon_Hb01. apply refl_equal. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hafc); [ zenon_intro zenon_Hb05 | zenon_intro zenon_Hb04 ]. % 47.72/47.88 apply (zenon_congruence_lr_s _ (fun zenon_Vn : _ => (~((op (inv (e1)) (e1)) = zenon_Vn))) _ _ zenon_Hb05 ax3). zenon_intro zenon_Hb06. % 47.72/47.88 cut (((op (e1) (e1)) = (e0)) = ((op (inv (e1)) (e1)) = (e0))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb06. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H12. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e1) (e1)) = (op (inv (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hb07]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (inv (e1)) (e1)) = (op (inv (e1)) (e1)))); [ zenon_intro zenon_Hb08 | zenon_intro zenon_Hb09 ]. % 47.72/47.88 cut (((op (inv (e1)) (e1)) = (op (inv (e1)) (e1))) = ((op (e1) (e1)) = (op (inv (e1)) (e1)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb07. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hb08. % 47.72/47.88 cut (((op (inv (e1)) (e1)) = (op (inv (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hb09]. % 47.72/47.88 cut (((op (inv (e1)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hb0a]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 47.72/47.88 cut (((inv (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hb03]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hb03 zenon_H403). % 47.72/47.88 apply zenon_H5. apply refl_equal. % 47.72/47.88 apply zenon_Hb09. apply refl_equal. % 47.72/47.88 apply zenon_Hb09. apply refl_equal. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hb04); [ zenon_intro zenon_Hb0c | zenon_intro zenon_Hb0b ]. % 47.72/47.88 apply (zenon_congruence_lr_s _ (fun zenon_Vp : _ => (~((op (e2) (inv (e2))) = zenon_Vp))) _ _ zenon_Hb0c ax3). zenon_intro zenon_Hb0d. % 47.72/47.88 cut (((op (e2) (e2)) = (e0)) = ((op (e2) (inv (e2))) = (e0))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb0d. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H51. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e2) (e2)) = (op (e2) (inv (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb0e]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e2) (inv (e2))) = (op (e2) (inv (e2))))); [ zenon_intro zenon_Hb0f | zenon_intro zenon_Hb10 ]. % 47.72/47.88 cut (((op (e2) (inv (e2))) = (op (e2) (inv (e2)))) = ((op (e2) (e2)) = (op (e2) (inv (e2))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb0e. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hb0f. % 47.72/47.88 cut (((op (e2) (inv (e2))) = (op (e2) (inv (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb10]. % 47.72/47.88 cut (((op (e2) (inv (e2))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hb11]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((inv (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb12]. % 47.72/47.88 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H6. apply refl_equal. % 47.72/47.88 exact (zenon_Hb12 zenon_H405). % 47.72/47.88 apply zenon_Hb10. apply refl_equal. % 47.72/47.88 apply zenon_Hb10. apply refl_equal. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hb0b); [ zenon_intro zenon_Hb14 | zenon_intro zenon_Hb13 ]. % 47.72/47.88 apply (zenon_congruence_lr_s _ (fun zenon_Vr : _ => (~((op (inv (e2)) (e2)) = zenon_Vr))) _ _ zenon_Hb14 ax3). zenon_intro zenon_Hb15. % 47.72/47.88 cut (((op (e2) (e2)) = (e0)) = ((op (inv (e2)) (e2)) = (e0))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb15. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H51. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e2) (e2)) = (op (inv (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hb16]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (inv (e2)) (e2)) = (op (inv (e2)) (e2)))); [ zenon_intro zenon_Hb17 | zenon_intro zenon_Hb18 ]. % 47.72/47.88 cut (((op (inv (e2)) (e2)) = (op (inv (e2)) (e2))) = ((op (e2) (e2)) = (op (inv (e2)) (e2)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb16. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hb17. % 47.72/47.88 cut (((op (inv (e2)) (e2)) = (op (inv (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hb18]. % 47.72/47.88 cut (((op (inv (e2)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hb19]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 47.72/47.88 cut (((inv (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb12]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hb12 zenon_H405). % 47.72/47.88 apply zenon_H6. apply refl_equal. % 47.72/47.88 apply zenon_Hb18. apply refl_equal. % 47.72/47.88 apply zenon_Hb18. apply refl_equal. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hb13); [ zenon_intro zenon_Hb1b | zenon_intro zenon_Hb1a ]. % 47.72/47.88 apply (zenon_congruence_lr_s _ (fun zenon_Vt : _ => (~((op (e3) (inv (e3))) = zenon_Vt))) _ _ zenon_Hb1b ax3). zenon_intro zenon_Hb1c. % 47.72/47.88 cut (((op (e3) (e4)) = (e0)) = ((op (e3) (inv (e3))) = (e0))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb1c. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H91. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e3) (e4)) = (op (e3) (inv (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hb1d]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e3) (inv (e3))) = (op (e3) (inv (e3))))); [ zenon_intro zenon_Hb1e | zenon_intro zenon_Hb1f ]. % 47.72/47.88 cut (((op (e3) (inv (e3))) = (op (e3) (inv (e3)))) = ((op (e3) (e4)) = (op (e3) (inv (e3))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb1d. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hb1e. % 47.72/47.88 cut (((op (e3) (inv (e3))) = (op (e3) (inv (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hb1f]. % 47.72/47.88 cut (((op (e3) (inv (e3))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb20]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((inv (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hb21]. % 47.72/47.88 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 exact (zenon_Hb21 zenon_H407). % 47.72/47.88 apply zenon_Hb1f. apply refl_equal. % 47.72/47.88 apply zenon_Hb1f. apply refl_equal. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hb1a); [ zenon_intro zenon_Hb23 | zenon_intro zenon_Hb22 ]. % 47.72/47.88 apply (zenon_congruence_lr_s _ (fun zenon_Vv : _ => (~((op (inv (e3)) (e3)) = zenon_Vv))) _ _ zenon_Hb23 ax3). zenon_intro zenon_Hb24. % 47.72/47.88 cut (((op (e4) (e3)) = (e0)) = ((op (inv (e3)) (e3)) = (e0))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb24. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hb9. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e4) (e3)) = (op (inv (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb25]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (inv (e3)) (e3)) = (op (inv (e3)) (e3)))); [ zenon_intro zenon_Hb26 | zenon_intro zenon_Hb27 ]. % 47.72/47.88 cut (((op (inv (e3)) (e3)) = (op (inv (e3)) (e3))) = ((op (e4) (e3)) = (op (inv (e3)) (e3)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb25. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hb26. % 47.72/47.88 cut (((op (inv (e3)) (e3)) = (op (inv (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb27]. % 47.72/47.88 cut (((op (inv (e3)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb28]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 47.72/47.88 cut (((inv (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hb21]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hb21 zenon_H407). % 47.72/47.88 apply zenon_H1a. apply refl_equal. % 47.72/47.88 apply zenon_Hb27. apply refl_equal. % 47.72/47.88 apply zenon_Hb27. apply refl_equal. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hb22); [ zenon_intro zenon_Hb2a | zenon_intro zenon_Hb29 ]. % 47.72/47.88 apply (zenon_congruence_lr_s _ (fun zenon_Vx : _ => (~((op (e4) (inv (e4))) = zenon_Vx))) _ _ zenon_Hb2a ax3). zenon_intro zenon_Hb2b. % 47.72/47.88 cut (((op (e4) (e3)) = (e0)) = ((op (e4) (inv (e4))) = (e0))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb2b. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hb9. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e4) (e3)) = (op (e4) (inv (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hb2c]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e4) (inv (e4))) = (op (e4) (inv (e4))))); [ zenon_intro zenon_Hb2d | zenon_intro zenon_Hb2e ]. % 47.72/47.88 cut (((op (e4) (inv (e4))) = (op (e4) (inv (e4)))) = ((op (e4) (e3)) = (op (e4) (inv (e4))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb2c. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hb2d. % 47.72/47.88 cut (((op (e4) (inv (e4))) = (op (e4) (inv (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hb2e]. % 47.72/47.88 cut (((op (e4) (inv (e4))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb2f]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((inv (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hb30]. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 exact (zenon_Hb30 zenon_H409). % 47.72/47.88 apply zenon_Hb2e. apply refl_equal. % 47.72/47.88 apply zenon_Hb2e. apply refl_equal. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hb29); [ zenon_intro zenon_Hb32 | zenon_intro zenon_Hb31 ]. % 47.72/47.88 apply (zenon_congruence_lr_s _ (fun zenon_Vz : _ => (~((op (inv (e4)) (e4)) = zenon_Vz))) _ _ zenon_Hb32 ax3). zenon_intro zenon_Hb33. % 47.72/47.88 cut (((op (e3) (e4)) = (e0)) = ((op (inv (e4)) (e4)) = (e0))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb33. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_H91. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e3) (e4)) = (op (inv (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb34]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (inv (e4)) (e4)) = (op (inv (e4)) (e4)))); [ zenon_intro zenon_Hb35 | zenon_intro zenon_Hb36 ]. % 47.72/47.88 cut (((op (inv (e4)) (e4)) = (op (inv (e4)) (e4))) = ((op (e3) (e4)) = (op (inv (e4)) (e4)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb34. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hb35. % 47.72/47.88 cut (((op (inv (e4)) (e4)) = (op (inv (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb36]. % 47.72/47.88 cut (((op (inv (e4)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb37]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 47.72/47.88 cut (((inv (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hb30]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hb30 zenon_H409). % 47.72/47.88 apply zenon_H2d. apply refl_equal. % 47.72/47.88 apply zenon_Hb36. apply refl_equal. % 47.72/47.88 apply zenon_Hb36. apply refl_equal. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hb31); [ zenon_intro zenon_Hb39 | zenon_intro zenon_Hb38 ]. % 47.72/47.88 apply (zenon_congruence_lr_s _ (fun zenon_Vba : _ => (~((op (e5) (inv (e5))) = zenon_Vba))) _ _ zenon_Hb39 ax3). zenon_intro zenon_Hb3a. % 47.72/47.88 cut (((op (e5) (e5)) = (e0)) = ((op (e5) (inv (e5))) = (e0))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb3a. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hf9. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e5) (e5)) = (op (e5) (inv (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hb3b]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (e5) (inv (e5))) = (op (e5) (inv (e5))))); [ zenon_intro zenon_Hb3c | zenon_intro zenon_Hb3d ]. % 47.72/47.88 cut (((op (e5) (inv (e5))) = (op (e5) (inv (e5)))) = ((op (e5) (e5)) = (op (e5) (inv (e5))))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb3b. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hb3c. % 47.72/47.88 cut (((op (e5) (inv (e5))) = (op (e5) (inv (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hb3d]. % 47.72/47.88 cut (((op (e5) (inv (e5))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb3e]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((inv (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb3f]. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 congruence. % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 exact (zenon_Hb3f zenon_H408). % 47.72/47.88 apply zenon_Hb3d. apply refl_equal. % 47.72/47.88 apply zenon_Hb3d. apply refl_equal. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hb38); [ zenon_intro zenon_Hb41 | zenon_intro zenon_Hb40 ]. % 47.72/47.88 apply (zenon_congruence_lr_s _ (fun zenon_Vda : _ => (~((op (inv (e5)) (e5)) = zenon_Vda))) _ _ zenon_Hb41 ax3). zenon_intro zenon_Hb42. % 47.72/47.88 cut (((op (e5) (e5)) = (e0)) = ((op (inv (e5)) (e5)) = (e0))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb42. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hf9. % 47.72/47.88 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 47.72/47.88 cut (((op (e5) (e5)) = (op (inv (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb43]. % 47.72/47.88 congruence. % 47.72/47.88 elim (classic ((op (inv (e5)) (e5)) = (op (inv (e5)) (e5)))); [ zenon_intro zenon_Hb44 | zenon_intro zenon_Hb45 ]. % 47.72/47.88 cut (((op (inv (e5)) (e5)) = (op (inv (e5)) (e5))) = ((op (e5) (e5)) = (op (inv (e5)) (e5)))). % 47.72/47.88 intro zenon_D_pnotp. % 47.72/47.88 apply zenon_Hb43. % 47.72/47.88 rewrite <- zenon_D_pnotp. % 47.72/47.88 exact zenon_Hb44. % 47.72/47.88 cut (((op (inv (e5)) (e5)) = (op (inv (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb45]. % 47.72/47.88 cut (((op (inv (e5)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb46]. % 47.72/47.88 congruence. % 47.72/47.88 cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 47.72/47.88 cut (((inv (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb3f]. % 47.72/47.88 congruence. % 47.72/47.88 exact (zenon_Hb3f zenon_H408). % 47.72/47.88 apply zenon_H2e. apply refl_equal. % 47.72/47.88 apply zenon_Hb45. apply refl_equal. % 47.72/47.88 apply zenon_Hb45. apply refl_equal. % 47.72/47.88 apply zenon_H7. apply refl_equal. % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hb40); [ zenon_intro zenon_Hb48 | zenon_intro zenon_Hb47 ]. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb48). zenon_intro zenon_Haf4. zenon_intro zenon_Hb49. % 47.72/47.88 exact (zenon_Haf4 zenon_H401). % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hb47); [ zenon_intro zenon_Hb4b | zenon_intro zenon_Hb4a ]. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb4b). zenon_intro zenon_Hb4d. zenon_intro zenon_Hb4c. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb4c). zenon_intro zenon_Hb03. zenon_intro zenon_Hb4e. % 47.72/47.88 exact (zenon_Hb03 zenon_H403). % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hb4a); [ zenon_intro zenon_Hb50 | zenon_intro zenon_Hb4f ]. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb50). zenon_intro zenon_Hb52. zenon_intro zenon_Hb51. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb51). zenon_intro zenon_Hb54. zenon_intro zenon_Hb53. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb53). zenon_intro zenon_Hb12. zenon_intro zenon_Hb55. % 47.72/47.88 exact (zenon_Hb12 zenon_H405). % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hb4f); [ zenon_intro zenon_Hb57 | zenon_intro zenon_Hb56 ]. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb57). zenon_intro zenon_Hb59. zenon_intro zenon_Hb58. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb58). zenon_intro zenon_Hb5b. zenon_intro zenon_Hb5a. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb5a). zenon_intro zenon_Hb5d. zenon_intro zenon_Hb5c. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb5c). zenon_intro zenon_Hb5f. zenon_intro zenon_Hb5e. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb5e). zenon_intro zenon_Hb21. zenon_intro zenon_Hb60. % 47.72/47.88 exact (zenon_Hb21 zenon_H407). % 47.72/47.88 apply (zenon_notand_s _ _ zenon_Hb56); [ zenon_intro zenon_Hb62 | zenon_intro zenon_Hb61 ]. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb62). zenon_intro zenon_Hb64. zenon_intro zenon_Hb63. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb63). zenon_intro zenon_Hb66. zenon_intro zenon_Hb65. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb65). zenon_intro zenon_Hb68. zenon_intro zenon_Hb67. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb67). zenon_intro zenon_Hb30. zenon_intro zenon_Hb69. % 47.72/47.88 exact (zenon_Hb30 zenon_H409). % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb61). zenon_intro zenon_Hb6b. zenon_intro zenon_Hb6a. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb6a). zenon_intro zenon_Hb6d. zenon_intro zenon_Hb6c. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb6c). zenon_intro zenon_Hb6f. zenon_intro zenon_Hb6e. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb6e). zenon_intro zenon_Hb71. zenon_intro zenon_Hb70. % 47.72/47.88 apply (zenon_notor_s _ _ zenon_Hb70). zenon_intro zenon_Hb72. zenon_intro zenon_Hb3f. % 47.72/47.88 exact (zenon_Hb3f zenon_H408). % 47.72/47.88 Qed. % 47.72/47.88 % SZS output end Proof % 47.72/47.88 (* END-PROOF *) % 47.72/47.88 nodes searched: 1648037 % 47.72/47.88 max branch formulas: 1062 % 47.72/47.88 proof nodes created: 1367 % 47.72/47.88 formulas created: 379578 % 47.72/47.88 %------------------------------------------------------------------------------