↑ Up

Zenon---0.7.1.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% 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  
%------------------------------------------------------------------------------