TSTP Solution File: ALG032+1 by Zenon---0.7.1

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Zenon---0.7.1
% Problem  : ALG032+1 : TPTP v8.1.0. Released v2.7.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_zenon %s %d

% Computer : n028.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 600s
% DateTime : Thu Jul 14 18:29:02 EDT 2022

% Result   : Theorem 47.33s 47.57s
% Output   : Proof 47.44s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.06/0.11  % Problem  : ALG032+1 : TPTP v8.1.0. Released v2.7.0.
% 0.06/0.12  % Command  : run_zenon %s %d
% 0.11/0.33  % Computer : n028.cluster.edu
% 0.11/0.33  % Model    : x86_64 x86_64
% 0.11/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.33  % Memory   : 8042.1875MB
% 0.11/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.11/0.33  % CPULimit : 300
% 0.11/0.33  % WCLimit  : 600
% 0.11/0.33  % DateTime : Wed Jun  8 08:41:16 EDT 2022
% 0.11/0.33  % CPUTime  : 
% 47.33/47.57  (* PROOF-FOUND *)
% 47.33/47.57  % SZS status Theorem
% 47.33/47.57  (* BEGIN-PROOF *)
% 47.33/47.57  % SZS output start Proof
% 47.33/47.57  Theorem co1 : (((op (e0) (e0)) = (op (e0) (e0)))/\(((op (e0) (e1)) = (op (e1) (e0)))/\(((op (e0) (e2)) = (op (e2) (e0)))/\(((op (e0) (e3)) = (op (e3) (e0)))/\(((op (e0) (e4)) = (op (e4) (e0)))/\(((op (e0) (e5)) = (op (e5) (e0)))/\(((op (e1) (e0)) = (op (e0) (e1)))/\(((op (e1) (e1)) = (op (e1) (e1)))/\(((op (e1) (e2)) = (op (e2) (e1)))/\(((op (e1) (e3)) = (op (e3) (e1)))/\(((op (e1) (e4)) = (op (e4) (e1)))/\(((op (e1) (e5)) = (op (e5) (e1)))/\(((op (e2) (e0)) = (op (e0) (e2)))/\(((op (e2) (e1)) = (op (e1) (e2)))/\(((op (e2) (e2)) = (op (e2) (e2)))/\(((op (e2) (e3)) = (op (e3) (e2)))/\(((op (e2) (e4)) = (op (e4) (e2)))/\(((op (e2) (e5)) = (op (e5) (e2)))/\(((op (e3) (e0)) = (op (e0) (e3)))/\(((op (e3) (e1)) = (op (e1) (e3)))/\(((op (e3) (e2)) = (op (e2) (e3)))/\(((op (e3) (e3)) = (op (e3) (e3)))/\(((op (e3) (e4)) = (op (e4) (e3)))/\(((op (e3) (e5)) = (op (e5) (e3)))/\(((op (e4) (e0)) = (op (e0) (e4)))/\(((op (e4) (e1)) = (op (e1) (e4)))/\(((op (e4) (e2)) = (op (e2) (e4)))/\(((op (e4) (e3)) = (op (e3) (e4)))/\(((op (e4) (e4)) = (op (e4) (e4)))/\(((op (e4) (e5)) = (op (e5) (e4)))/\(((op (e5) (e0)) = (op (e0) (e5)))/\(((op (e5) (e1)) = (op (e1) (e5)))/\(((op (e5) (e2)) = (op (e2) (e5)))/\(((op (e5) (e3)) = (op (e3) (e5)))/\(((op (e5) (e4)) = (op (e4) (e5)))/\(((op (e5) (e5)) = (op (e5) (e5)))/\((((op (e0) (e0)) = (e0))\/(((op (e0) (e0)) = (e1))\/(((op (e0) (e0)) = (e2))\/(((op (e0) (e0)) = (e3))\/(((op (e0) (e0)) = (e4))\/((op (e0) (e0)) = (e5)))))))/\((((op (e0) (e1)) = (e0))\/(((op (e0) (e1)) = (e1))\/(((op (e0) (e1)) = (e2))\/(((op (e0) (e1)) = (e3))\/(((op (e0) (e1)) = (e4))\/((op (e0) (e1)) = (e5)))))))/\((((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/(((op (e0) (e2)) = (e4))\/((op (e0) (e2)) = (e5)))))))/\((((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/(((op (e0) (e3)) = (e4))\/((op (e0) (e3)) = (e5)))))))/\((((op (e0) (e4)) = (e0))\/(((op (e0) (e4)) = (e1))\/(((op (e0) (e4)) = (e2))\/(((op (e0) (e4)) = (e3))\/(((op (e0) (e4)) = (e4))\/((op (e0) (e4)) = (e5)))))))/\((((op (e0) (e5)) = (e0))\/(((op (e0) (e5)) = (e1))\/(((op (e0) (e5)) = (e2))\/(((op (e0) (e5)) = (e3))\/(((op (e0) (e5)) = (e4))\/((op (e0) (e5)) = (e5)))))))/\((((op (e1) (e0)) = (e0))\/(((op (e1) (e0)) = (e1))\/(((op (e1) (e0)) = (e2))\/(((op (e1) (e0)) = (e3))\/(((op (e1) (e0)) = (e4))\/((op (e1) (e0)) = (e5)))))))/\((((op (e1) (e1)) = (e0))\/(((op (e1) (e1)) = (e1))\/(((op (e1) (e1)) = (e2))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e1)) = (e4))\/((op (e1) (e1)) = (e5)))))))/\((((op (e1) (e2)) = (e0))\/(((op (e1) (e2)) = (e1))\/(((op (e1) (e2)) = (e2))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e2)) = (e4))\/((op (e1) (e2)) = (e5)))))))/\((((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/(((op (e1) (e3)) = (e4))\/((op (e1) (e3)) = (e5)))))))/\((((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/(((op (e1) (e4)) = (e4))\/((op (e1) (e4)) = (e5)))))))/\((((op (e1) (e5)) = (e0))\/(((op (e1) (e5)) = (e1))\/(((op (e1) (e5)) = (e2))\/(((op (e1) (e5)) = (e3))\/(((op (e1) (e5)) = (e4))\/((op (e1) (e5)) = (e5)))))))/\((((op (e2) (e0)) = (e0))\/(((op (e2) (e0)) = (e1))\/(((op (e2) (e0)) = (e2))\/(((op (e2) (e0)) = (e3))\/(((op (e2) (e0)) = (e4))\/((op (e2) (e0)) = (e5)))))))/\((((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/(((op (e2) (e1)) = (e4))\/((op (e2) (e1)) = (e5)))))))/\((((op (e2) (e2)) = (e0))\/(((op (e2) (e2)) = (e1))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e2)) = (e3))\/(((op (e2) (e2)) = (e4))\/((op (e2) (e2)) = (e5)))))))/\((((op (e2) (e3)) = (e0))\/(((op (e2) (e3)) = (e1))\/(((op (e2) (e3)) = (e2))\/(((op (e2) (e3)) = (e3))\/(((op (e2) (e3)) = (e4))\/((op (e2) (e3)) = (e5)))))))/\((((op (e2) (e4)) = (e0))\/(((op (e2) (e4)) = (e1))\/(((op (e2) (e4)) = (e2))\/(((op (e2) (e4)) = (e3))\/(((op (e2) (e4)) = (e4))\/((op (e2) (e4)) = (e5)))))))/\((((op (e2) (e5)) = (e0))\/(((op (e2) (e5)) = (e1))\/(((op (e2) (e5)) = (e2))\/(((op (e2) (e5)) = (e3))\/(((op (e2) (e5)) = (e4))\/((op (e2) (e5)) = (e5)))))))/\((((op (e3) (e0)) = (e0))\/(((op (e3) (e0)) = (e1))\/(((op (e3) (e0)) = (e2))\/(((op (e3) (e0)) = (e3))\/(((op (e3) (e0)) = (e4))\/((op (e3) (e0)) = (e5)))))))/\((((op (e3) (e1)) = (e0))\/(((op (e3) (e1)) = (e1))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e1)) = (e4))\/((op (e3) (e1)) = (e5)))))))/\((((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e2)) = (e4))\/((op (e3) (e2)) = (e5)))))))/\((((op (e3) (e3)) = (e0))\/(((op (e3) (e3)) = (e1))\/(((op (e3) (e3)) = (e2))\/(((op (e3) (e3)) = (e3))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e3)) = (e5)))))))/\((((op (e3) (e4)) = (e0))\/(((op (e3) (e4)) = (e1))\/(((op (e3) (e4)) = (e2))\/(((op (e3) (e4)) = (e3))\/(((op (e3) (e4)) = (e4))\/((op (e3) (e4)) = (e5)))))))/\((((op (e3) (e5)) = (e0))\/(((op (e3) (e5)) = (e1))\/(((op (e3) (e5)) = (e2))\/(((op (e3) (e5)) = (e3))\/(((op (e3) (e5)) = (e4))\/((op (e3) (e5)) = (e5)))))))/\((((op (e4) (e0)) = (e0))\/(((op (e4) (e0)) = (e1))\/(((op (e4) (e0)) = (e2))\/(((op (e4) (e0)) = (e3))\/(((op (e4) (e0)) = (e4))\/((op (e4) (e0)) = (e5)))))))/\((((op (e4) (e1)) = (e0))\/(((op (e4) (e1)) = (e1))\/(((op (e4) (e1)) = (e2))\/(((op (e4) (e1)) = (e3))\/(((op (e4) (e1)) = (e4))\/((op (e4) (e1)) = (e5)))))))/\((((op (e4) (e2)) = (e0))\/(((op (e4) (e2)) = (e1))\/(((op (e4) (e2)) = (e2))\/(((op (e4) (e2)) = (e3))\/(((op (e4) (e2)) = (e4))\/((op (e4) (e2)) = (e5)))))))/\((((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e3)) = (e5)))))))/\((((op (e4) (e4)) = (e0))\/(((op (e4) (e4)) = (e1))\/(((op (e4) (e4)) = (e2))\/(((op (e4) (e4)) = (e3))\/(((op (e4) (e4)) = (e4))\/((op (e4) (e4)) = (e5)))))))/\((((op (e4) (e5)) = (e0))\/(((op (e4) (e5)) = (e1))\/(((op (e4) (e5)) = (e2))\/(((op (e4) (e5)) = (e3))\/(((op (e4) (e5)) = (e4))\/((op (e4) (e5)) = (e5)))))))/\((((op (e5) (e0)) = (e0))\/(((op (e5) (e0)) = (e1))\/(((op (e5) (e0)) = (e2))\/(((op (e5) (e0)) = (e3))\/(((op (e5) (e0)) = (e4))\/((op (e5) (e0)) = (e5)))))))/\((((op (e5) (e1)) = (e0))\/(((op (e5) (e1)) = (e1))\/(((op (e5) (e1)) = (e2))\/(((op (e5) (e1)) = (e3))\/(((op (e5) (e1)) = (e4))\/((op (e5) (e1)) = (e5)))))))/\((((op (e5) (e2)) = (e0))\/(((op (e5) (e2)) = (e1))\/(((op (e5) (e2)) = (e2))\/(((op (e5) (e2)) = (e3))\/(((op (e5) (e2)) = (e4))\/((op (e5) (e2)) = (e5)))))))/\((((op (e5) (e3)) = (e0))\/(((op (e5) (e3)) = (e1))\/(((op (e5) (e3)) = (e2))\/(((op (e5) (e3)) = (e3))\/(((op (e5) (e3)) = (e4))\/((op (e5) (e3)) = (e5)))))))/\((((op (e5) (e4)) = (e0))\/(((op (e5) (e4)) = (e1))\/(((op (e5) (e4)) = (e2))\/(((op (e5) (e4)) = (e3))\/(((op (e5) (e4)) = (e4))\/((op (e5) (e4)) = (e5)))))))/\((((op (e5) (e5)) = (e0))\/(((op (e5) (e5)) = (e1))\/(((op (e5) (e5)) = (e2))\/(((op (e5) (e5)) = (e3))\/(((op (e5) (e5)) = (e4))\/((op (e5) (e5)) = (e5)))))))/\(((op (op (e0) (e0)) (e0)) = (op (e0) (op (e0) (e0))))/\(((op (op (e0) (e0)) (e1)) = (op (e0) (op (e0) (e1))))/\(((op (op (e0) (e0)) (e2)) = (op (e0) (op (e0) (e2))))/\(((op (op (e0) (e0)) (e3)) = (op (e0) (op (e0) (e3))))/\(((op (op (e0) (e0)) (e4)) = (op (e0) (op (e0) (e4))))/\(((op (op (e0) (e0)) (e5)) = (op (e0) (op (e0) (e5))))/\(((op (op (e0) (e1)) (e0)) = (op (e0) (op (e1) (e0))))/\(((op (op (e0) (e1)) (e1)) = (op (e0) (op (e1) (e1))))/\(((op (op (e0) (e1)) (e2)) = (op (e0) (op (e1) (e2))))/\(((op (op (e0) (e1)) (e3)) = (op (e0) (op (e1) (e3))))/\(((op (op (e0) (e1)) (e4)) = (op (e0) (op (e1) (e4))))/\(((op (op (e0) (e1)) (e5)) = (op (e0) (op (e1) (e5))))/\(((op (op (e0) (e2)) (e0)) = (op (e0) (op (e2) (e0))))/\(((op (op (e0) (e2)) (e1)) = (op (e0) (op (e2) (e1))))/\(((op (op (e0) (e2)) (e2)) = (op (e0) (op (e2) (e2))))/\(((op (op (e0) (e2)) (e3)) = (op (e0) (op (e2) (e3))))/\(((op (op (e0) (e2)) (e4)) = (op (e0) (op (e2) (e4))))/\(((op (op (e0) (e2)) (e5)) = (op (e0) (op (e2) (e5))))/\(((op (op (e0) (e3)) (e0)) = (op (e0) (op (e3) (e0))))/\(((op (op (e0) (e3)) (e1)) = (op (e0) (op (e3) (e1))))/\(((op (op (e0) (e3)) (e2)) = (op (e0) (op (e3) (e2))))/\(((op (op (e0) (e3)) (e3)) = (op (e0) (op (e3) (e3))))/\(((op (op (e0) (e3)) (e4)) = (op (e0) (op (e3) (e4))))/\(((op (op (e0) (e3)) (e5)) = (op (e0) (op (e3) (e5))))/\(((op (op (e0) (e4)) (e0)) = (op (e0) (op (e4) (e0))))/\(((op (op (e0) (e4)) (e1)) = (op (e0) (op (e4) (e1))))/\(((op (op (e0) (e4)) (e2)) = (op (e0) (op (e4) (e2))))/\(((op (op (e0) (e4)) (e3)) = (op (e0) (op (e4) (e3))))/\(((op (op (e0) (e4)) (e4)) = (op (e0) (op (e4) (e4))))/\(((op (op (e0) (e4)) (e5)) = (op (e0) (op (e4) (e5))))/\(((op (op (e0) (e5)) (e0)) = (op (e0) (op (e5) (e0))))/\(((op (op (e0) (e5)) (e1)) = (op (e0) (op (e5) (e1))))/\(((op (op (e0) (e5)) (e2)) = (op (e0) (op (e5) (e2))))/\(((op (op (e0) (e5)) (e3)) = (op (e0) (op (e5) (e3))))/\(((op (op (e0) (e5)) (e4)) = (op (e0) (op (e5) (e4))))/\(((op (op (e0) (e5)) (e5)) = (op (e0) (op (e5) (e5))))/\(((op (op (e1) (e0)) (e0)) = (op (e1) (op (e0) (e0))))/\(((op (op (e1) (e0)) (e1)) = (op (e1) (op (e0) (e1))))/\(((op (op (e1) (e0)) (e2)) = (op (e1) (op (e0) (e2))))/\(((op (op (e1) (e0)) (e3)) = (op (e1) (op (e0) (e3))))/\(((op (op (e1) (e0)) (e4)) = (op (e1) (op (e0) (e4))))/\(((op (op (e1) (e0)) (e5)) = (op (e1) (op (e0) (e5))))/\(((op (op (e1) (e1)) (e0)) = (op (e1) (op (e1) (e0))))/\(((op (op (e1) (e1)) (e1)) = (op (e1) (op (e1) (e1))))/\(((op (op (e1) (e1)) (e2)) = (op (e1) (op (e1) (e2))))/\(((op (op (e1) (e1)) (e3)) = (op (e1) (op (e1) (e3))))/\(((op (op (e1) (e1)) (e4)) = (op (e1) (op (e1) (e4))))/\(((op (op (e1) (e1)) (e5)) = (op (e1) (op (e1) (e5))))/\(((op (op (e1) (e2)) (e0)) = (op (e1) (op (e2) (e0))))/\(((op (op (e1) (e2)) (e1)) = (op (e1) (op (e2) (e1))))/\(((op (op (e1) (e2)) (e2)) = (op (e1) (op (e2) (e2))))/\(((op (op (e1) (e2)) (e3)) = (op (e1) (op (e2) (e3))))/\(((op (op (e1) (e2)) (e4)) = (op (e1) (op (e2) (e4))))/\(((op (op (e1) (e2)) (e5)) = (op (e1) (op (e2) (e5))))/\(((op (op (e1) (e3)) (e0)) = (op (e1) (op (e3) (e0))))/\(((op (op (e1) (e3)) (e1)) = (op (e1) (op (e3) (e1))))/\(((op (op (e1) (e3)) (e2)) = (op (e1) (op (e3) (e2))))/\(((op (op (e1) (e3)) (e3)) = (op (e1) (op (e3) (e3))))/\(((op (op (e1) (e3)) (e4)) = (op (e1) (op (e3) (e4))))/\(((op (op (e1) (e3)) (e5)) = (op (e1) (op (e3) (e5))))/\(((op (op (e1) (e4)) (e0)) = (op (e1) (op (e4) (e0))))/\(((op (op (e1) (e4)) (e1)) = (op (e1) (op (e4) (e1))))/\(((op (op (e1) (e4)) (e2)) = (op (e1) (op (e4) (e2))))/\(((op (op (e1) (e4)) (e3)) = (op (e1) (op (e4) (e3))))/\(((op (op (e1) (e4)) (e4)) = (op (e1) (op (e4) (e4))))/\(((op (op (e1) (e4)) (e5)) = (op (e1) (op (e4) (e5))))/\(((op (op (e1) (e5)) (e0)) = (op (e1) (op (e5) (e0))))/\(((op (op (e1) (e5)) (e1)) = (op (e1) (op (e5) (e1))))/\(((op (op (e1) (e5)) (e2)) = (op (e1) (op (e5) (e2))))/\(((op (op (e1) (e5)) (e3)) = (op (e1) (op (e5) (e3))))/\(((op (op (e1) (e5)) (e4)) = (op (e1) (op (e5) (e4))))/\(((op (op (e1) (e5)) (e5)) = (op (e1) (op (e5) (e5))))/\(((op (op (e2) (e0)) (e0)) = (op (e2) (op (e0) (e0))))/\(((op (op (e2) (e0)) (e1)) = (op (e2) (op (e0) (e1))))/\(((op (op (e2) (e0)) (e2)) = (op (e2) (op (e0) (e2))))/\(((op (op (e2) (e0)) (e3)) = (op (e2) (op (e0) (e3))))/\(((op (op (e2) (e0)) (e4)) = (op (e2) (op (e0) (e4))))/\(((op (op (e2) (e0)) (e5)) = (op (e2) (op (e0) (e5))))/\(((op (op (e2) (e1)) (e0)) = (op (e2) (op (e1) (e0))))/\(((op (op (e2) (e1)) (e1)) = (op (e2) (op (e1) (e1))))/\(((op (op (e2) (e1)) (e2)) = (op (e2) (op (e1) (e2))))/\(((op (op (e2) (e1)) (e3)) = (op (e2) (op (e1) (e3))))/\(((op (op (e2) (e1)) (e4)) = (op (e2) (op (e1) (e4))))/\(((op (op (e2) (e1)) (e5)) = (op (e2) (op (e1) (e5))))/\(((op (op (e2) (e2)) (e0)) = (op (e2) (op (e2) (e0))))/\(((op (op (e2) (e2)) (e1)) = (op (e2) (op (e2) (e1))))/\(((op (op (e2) (e2)) (e2)) = (op (e2) (op (e2) (e2))))/\(((op (op (e2) (e2)) (e3)) = (op (e2) (op (e2) (e3))))/\(((op (op (e2) (e2)) (e4)) = (op (e2) (op (e2) (e4))))/\(((op (op (e2) (e2)) (e5)) = (op (e2) (op (e2) (e5))))/\(((op (op (e2) (e3)) (e0)) = (op (e2) (op (e3) (e0))))/\(((op (op (e2) (e3)) (e1)) = (op (e2) (op (e3) (e1))))/\(((op (op (e2) (e3)) (e2)) = (op (e2) (op (e3) (e2))))/\(((op (op (e2) (e3)) (e3)) = (op (e2) (op (e3) (e3))))/\(((op (op (e2) (e3)) (e4)) = (op (e2) (op (e3) (e4))))/\(((op (op (e2) (e3)) (e5)) = (op (e2) (op (e3) (e5))))/\(((op (op (e2) (e4)) (e0)) = (op (e2) (op (e4) (e0))))/\(((op (op (e2) (e4)) (e1)) = (op (e2) (op (e4) (e1))))/\(((op (op (e2) (e4)) (e2)) = (op (e2) (op (e4) (e2))))/\(((op (op (e2) (e4)) (e3)) = (op (e2) (op (e4) (e3))))/\(((op (op (e2) (e4)) (e4)) = (op (e2) (op (e4) (e4))))/\(((op (op (e2) (e4)) (e5)) = (op (e2) (op (e4) (e5))))/\(((op (op (e2) (e5)) (e0)) = (op (e2) (op (e5) (e0))))/\(((op (op (e2) (e5)) (e1)) = (op (e2) (op (e5) (e1))))/\(((op (op (e2) (e5)) (e2)) = (op (e2) (op (e5) (e2))))/\(((op (op (e2) (e5)) (e3)) = (op (e2) (op (e5) (e3))))/\(((op (op (e2) (e5)) (e4)) = (op (e2) (op (e5) (e4))))/\(((op (op (e2) (e5)) (e5)) = (op (e2) (op (e5) (e5))))/\(((op (op (e3) (e0)) (e0)) = (op (e3) (op (e0) (e0))))/\(((op (op (e3) (e0)) (e1)) = (op (e3) (op (e0) (e1))))/\(((op (op (e3) (e0)) (e2)) = (op (e3) (op (e0) (e2))))/\(((op (op (e3) (e0)) (e3)) = (op (e3) (op (e0) (e3))))/\(((op (op (e3) (e0)) (e4)) = (op (e3) (op (e0) (e4))))/\(((op (op (e3) (e0)) (e5)) = (op (e3) (op (e0) (e5))))/\(((op (op (e3) (e1)) (e0)) = (op (e3) (op (e1) (e0))))/\(((op (op (e3) (e1)) (e1)) = (op (e3) (op (e1) (e1))))/\(((op (op (e3) (e1)) (e2)) = (op (e3) (op (e1) (e2))))/\(((op (op (e3) (e1)) (e3)) = (op (e3) (op (e1) (e3))))/\(((op (op (e3) (e1)) (e4)) = (op (e3) (op (e1) (e4))))/\(((op (op (e3) (e1)) (e5)) = (op (e3) (op (e1) (e5))))/\(((op (op (e3) (e2)) (e0)) = (op (e3) (op (e2) (e0))))/\(((op (op (e3) (e2)) (e1)) = (op (e3) (op (e2) (e1))))/\(((op (op (e3) (e2)) (e2)) = (op (e3) (op (e2) (e2))))/\(((op (op (e3) (e2)) (e3)) = (op (e3) (op (e2) (e3))))/\(((op (op (e3) (e2)) (e4)) = (op (e3) (op (e2) (e4))))/\(((op (op (e3) (e2)) (e5)) = (op (e3) (op (e2) (e5))))/\(((op (op (e3) (e3)) (e0)) = (op (e3) (op (e3) (e0))))/\(((op (op (e3) (e3)) (e1)) = (op (e3) (op (e3) (e1))))/\(((op (op (e3) (e3)) (e2)) = (op (e3) (op (e3) (e2))))/\(((op (op (e3) (e3)) (e3)) = (op (e3) (op (e3) (e3))))/\(((op (op (e3) (e3)) (e4)) = (op (e3) (op (e3) (e4))))/\(((op (op (e3) (e3)) (e5)) = (op (e3) (op (e3) (e5))))/\(((op (op (e3) (e4)) (e0)) = (op (e3) (op (e4) (e0))))/\(((op (op (e3) (e4)) (e1)) = (op (e3) (op (e4) (e1))))/\(((op (op (e3) (e4)) (e2)) = (op (e3) (op (e4) (e2))))/\(((op (op (e3) (e4)) (e3)) = (op (e3) (op (e4) (e3))))/\(((op (op (e3) (e4)) (e4)) = (op (e3) (op (e4) (e4))))/\(((op (op (e3) (e4)) (e5)) = (op (e3) (op (e4) (e5))))/\(((op (op (e3) (e5)) (e0)) = (op (e3) (op (e5) (e0))))/\(((op (op (e3) (e5)) (e1)) = (op (e3) (op (e5) (e1))))/\(((op (op (e3) (e5)) (e2)) = (op (e3) (op (e5) (e2))))/\(((op (op (e3) (e5)) (e3)) = (op (e3) (op (e5) (e3))))/\(((op (op (e3) (e5)) (e4)) = (op (e3) (op (e5) (e4))))/\(((op (op (e3) (e5)) (e5)) = (op (e3) (op (e5) (e5))))/\(((op (op (e4) (e0)) (e0)) = (op (e4) (op (e0) (e0))))/\(((op (op (e4) (e0)) (e1)) = (op (e4) (op (e0) (e1))))/\(((op (op (e4) (e0)) (e2)) = (op (e4) (op (e0) (e2))))/\(((op (op (e4) (e0)) (e3)) = (op (e4) (op (e0) (e3))))/\(((op (op (e4) (e0)) (e4)) = (op (e4) (op (e0) (e4))))/\(((op (op (e4) (e0)) (e5)) = (op (e4) (op (e0) (e5))))/\(((op (op (e4) (e1)) (e0)) = (op (e4) (op (e1) (e0))))/\(((op (op (e4) (e1)) (e1)) = (op (e4) (op (e1) (e1))))/\(((op (op (e4) (e1)) (e2)) = (op (e4) (op (e1) (e2))))/\(((op (op (e4) (e1)) (e3)) = (op (e4) (op (e1) (e3))))/\(((op (op (e4) (e1)) (e4)) = (op (e4) (op (e1) (e4))))/\(((op (op (e4) (e1)) (e5)) = (op (e4) (op (e1) (e5))))/\(((op (op (e4) (e2)) (e0)) = (op (e4) (op (e2) (e0))))/\(((op (op (e4) (e2)) (e1)) = (op (e4) (op (e2) (e1))))/\(((op (op (e4) (e2)) (e2)) = (op (e4) (op (e2) (e2))))/\(((op (op (e4) (e2)) (e3)) = (op (e4) (op (e2) (e3))))/\(((op (op (e4) (e2)) (e4)) = (op (e4) (op (e2) (e4))))/\(((op (op (e4) (e2)) (e5)) = (op (e4) (op (e2) (e5))))/\(((op (op (e4) (e3)) (e0)) = (op (e4) (op (e3) (e0))))/\(((op (op (e4) (e3)) (e1)) = (op (e4) (op (e3) (e1))))/\(((op (op (e4) (e3)) (e2)) = (op (e4) (op (e3) (e2))))/\(((op (op (e4) (e3)) (e3)) = (op (e4) (op (e3) (e3))))/\(((op (op (e4) (e3)) (e4)) = (op (e4) (op (e3) (e4))))/\(((op (op (e4) (e3)) (e5)) = (op (e4) (op (e3) (e5))))/\(((op (op (e4) (e4)) (e0)) = (op (e4) (op (e4) (e0))))/\(((op (op (e4) (e4)) (e1)) = (op (e4) (op (e4) (e1))))/\(((op (op (e4) (e4)) (e2)) = (op (e4) (op (e4) (e2))))/\(((op (op (e4) (e4)) (e3)) = (op (e4) (op (e4) (e3))))/\(((op (op (e4) (e4)) (e4)) = (op (e4) (op (e4) (e4))))/\(((op (op (e4) (e4)) (e5)) = (op (e4) (op (e4) (e5))))/\(((op (op (e4) (e5)) (e0)) = (op (e4) (op (e5) (e0))))/\(((op (op (e4) (e5)) (e1)) = (op (e4) (op (e5) (e1))))/\(((op (op (e4) (e5)) (e2)) = (op (e4) (op (e5) (e2))))/\(((op (op (e4) (e5)) (e3)) = (op (e4) (op (e5) (e3))))/\(((op (op (e4) (e5)) (e4)) = (op (e4) (op (e5) (e4))))/\(((op (op (e4) (e5)) (e5)) = (op (e4) (op (e5) (e5))))/\(((op (op (e5) (e0)) (e0)) = (op (e5) (op (e0) (e0))))/\(((op (op (e5) (e0)) (e1)) = (op (e5) (op (e0) (e1))))/\(((op (op (e5) (e0)) (e2)) = (op (e5) (op (e0) (e2))))/\(((op (op (e5) (e0)) (e3)) = (op (e5) (op (e0) (e3))))/\(((op (op (e5) (e0)) (e4)) = (op (e5) (op (e0) (e4))))/\(((op (op (e5) (e0)) (e5)) = (op (e5) (op (e0) (e5))))/\(((op (op (e5) (e1)) (e0)) = (op (e5) (op (e1) (e0))))/\(((op (op (e5) (e1)) (e1)) = (op (e5) (op (e1) (e1))))/\(((op (op (e5) (e1)) (e2)) = (op (e5) (op (e1) (e2))))/\(((op (op (e5) (e1)) (e3)) = (op (e5) (op (e1) (e3))))/\(((op (op (e5) (e1)) (e4)) = (op (e5) (op (e1) (e4))))/\(((op (op (e5) (e1)) (e5)) = (op (e5) (op (e1) (e5))))/\(((op (op (e5) (e2)) (e0)) = (op (e5) (op (e2) (e0))))/\(((op (op (e5) (e2)) (e1)) = (op (e5) (op (e2) (e1))))/\(((op (op (e5) (e2)) (e2)) = (op (e5) (op (e2) (e2))))/\(((op (op (e5) (e2)) (e3)) = (op (e5) (op (e2) (e3))))/\(((op (op (e5) (e2)) (e4)) = (op (e5) (op (e2) (e4))))/\(((op (op (e5) (e2)) (e5)) = (op (e5) (op (e2) (e5))))/\(((op (op (e5) (e3)) (e0)) = (op (e5) (op (e3) (e0))))/\(((op (op (e5) (e3)) (e1)) = (op (e5) (op (e3) (e1))))/\(((op (op (e5) (e3)) (e2)) = (op (e5) (op (e3) (e2))))/\(((op (op (e5) (e3)) (e3)) = (op (e5) (op (e3) (e3))))/\(((op (op (e5) (e3)) (e4)) = (op (e5) (op (e3) (e4))))/\(((op (op (e5) (e3)) (e5)) = (op (e5) (op (e3) (e5))))/\(((op (op (e5) (e4)) (e0)) = (op (e5) (op (e4) (e0))))/\(((op (op (e5) (e4)) (e1)) = (op (e5) (op (e4) (e1))))/\(((op (op (e5) (e4)) (e2)) = (op (e5) (op (e4) (e2))))/\(((op (op (e5) (e4)) (e3)) = (op (e5) (op (e4) (e3))))/\(((op (op (e5) (e4)) (e4)) = (op (e5) (op (e4) (e4))))/\(((op (op (e5) (e4)) (e5)) = (op (e5) (op (e4) (e5))))/\(((op (op (e5) (e5)) (e0)) = (op (e5) (op (e5) (e0))))/\(((op (op (e5) (e5)) (e1)) = (op (e5) (op (e5) (e1))))/\(((op (op (e5) (e5)) (e2)) = (op (e5) (op (e5) (e2))))/\(((op (op (e5) (e5)) (e3)) = (op (e5) (op (e5) (e3))))/\(((op (op (e5) (e5)) (e4)) = (op (e5) (op (e5) (e4))))/\(((op (op (e5) (e5)) (e5)) = (op (e5) (op (e5) (e5))))/\(((op (unit) (e0)) = (e0))/\(((op (e0) (unit)) = (e0))/\(((op (unit) (e1)) = (e1))/\(((op (e1) (unit)) = (e1))/\(((op (unit) (e2)) = (e2))/\(((op (e2) (unit)) = (e2))/\(((op (unit) (e3)) = (e3))/\(((op (e3) (unit)) = (e3))/\(((op (unit) (e4)) = (e4))/\(((op (e4) (unit)) = (e4))/\(((op (unit) (e5)) = (e5))/\(((op (e5) (unit)) = (e5))/\((((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/(((unit) = (e4))\/((unit) = (e5)))))))/\(((op (e0) (inv (e0))) = (unit))/\(((op (inv (e0)) (e0)) = (unit))/\(((op (e1) (inv (e1))) = (unit))/\(((op (inv (e1)) (e1)) = (unit))/\(((op (e2) (inv (e2))) = (unit))/\(((op (inv (e2)) (e2)) = (unit))/\(((op (e3) (inv (e3))) = (unit))/\(((op (inv (e3)) (e3)) = (unit))/\(((op (e4) (inv (e4))) = (unit))/\(((op (inv (e4)) (e4)) = (unit))/\(((op (e5) (inv (e5))) = (unit))/\(((op (inv (e5)) (e5)) = (unit))/\((((inv (e0)) = (e0))\/(((inv (e0)) = (e1))\/(((inv (e0)) = (e2))\/(((inv (e0)) = (e3))\/(((inv (e0)) = (e4))\/((inv (e0)) = (e5)))))))/\((((inv (e1)) = (e0))\/(((inv (e1)) = (e1))\/(((inv (e1)) = (e2))\/(((inv (e1)) = (e3))\/(((inv (e1)) = (e4))\/((inv (e1)) = (e5)))))))/\((((inv (e2)) = (e0))\/(((inv (e2)) = (e1))\/(((inv (e2)) = (e2))\/(((inv (e2)) = (e3))\/(((inv (e2)) = (e4))\/((inv (e2)) = (e5)))))))/\((((inv (e3)) = (e0))\/(((inv (e3)) = (e1))\/(((inv (e3)) = (e2))\/(((inv (e3)) = (e3))\/(((inv (e3)) = (e4))\/((inv (e3)) = (e5)))))))/\((((inv (e4)) = (e0))\/(((inv (e4)) = (e1))\/(((inv (e4)) = (e2))\/(((inv (e4)) = (e3))\/(((inv (e4)) = (e4))\/((inv (e4)) = (e5)))))))/\(((inv (e5)) = (e0))\/(((inv (e5)) = (e1))\/(((inv (e5)) = (e2))\/(((inv (e5)) = (e3))\/(((inv (e5)) = (e4))\/((inv (e5)) = (e5))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))).
% 47.33/47.57  Proof.
% 47.33/47.57  assert (zenon_L1_ : (~((e0) = (e0))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H5.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L1_ *)
% 47.33/47.57  assert (zenon_L2_ : (~((e1) = (e1))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H6.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L2_ *)
% 47.33/47.57  assert (zenon_L3_ : ((op (e0) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((e1) = (op (e0) (op (e1) (e0))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H7 zenon_H8 zenon_H9.
% 47.33/47.57  elim (classic ((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [ zenon_intro zenon_Ha | zenon_intro zenon_Hb ].
% 47.33/47.57  cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0)))) = ((e1) = (op (e0) (op (e1) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H9.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Ha.
% 47.33/47.57  cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hb].
% 47.33/47.57  cut (((op (e0) (op (e1) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e1) (e0))) = (e1))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hc.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H7.
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  cut (((op (e0) (e1)) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hd].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [ zenon_intro zenon_Ha | zenon_intro zenon_Hb ].
% 47.33/47.57  cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0)))) = ((op (e0) (e1)) = (op (e0) (op (e1) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hd.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Ha.
% 47.33/47.57  cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hb].
% 47.33/47.57  cut (((op (e0) (op (e1) (e0))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_He].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_Hf zenon_H8).
% 47.33/47.57  apply zenon_Hb. apply refl_equal.
% 47.33/47.57  apply zenon_Hb. apply refl_equal.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  apply zenon_Hb. apply refl_equal.
% 47.33/47.57  apply zenon_Hb. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L3_ *)
% 47.33/47.57  assert (zenon_L4_ : ((op (e0) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (~((e0) = (op (e0) (op (e1) (e1))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H10 zenon_H11 zenon_H12.
% 47.33/47.57  elim (classic ((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [ zenon_intro zenon_H13 | zenon_intro zenon_H14 ].
% 47.33/47.57  cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1)))) = ((e0) = (op (e0) (op (e1) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H12.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H13.
% 47.33/47.57  cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 47.33/47.57  cut (((op (e0) (op (e1) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H15].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e1) (e1))) = (e0))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H15.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H10.
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  cut (((op (e0) (e0)) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H16].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [ zenon_intro zenon_H13 | zenon_intro zenon_H14 ].
% 47.33/47.57  cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1)))) = ((op (e0) (e0)) = (op (e0) (op (e1) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H16.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H13.
% 47.33/47.57  cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 47.33/47.57  cut (((op (e0) (op (e1) (e1))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H18 zenon_H11).
% 47.33/47.57  apply zenon_H14. apply refl_equal.
% 47.33/47.57  apply zenon_H14. apply refl_equal.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  apply zenon_H14. apply refl_equal.
% 47.33/47.57  apply zenon_H14. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L4_ *)
% 47.33/47.57  assert (zenon_L5_ : (~((e2) = (e2))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H19.
% 47.33/47.57  apply zenon_H19. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L5_ *)
% 47.33/47.57  assert (zenon_L6_ : (~((e4) = (e4))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H1a.
% 47.33/47.57  apply zenon_H1a. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L6_ *)
% 47.33/47.57  assert (zenon_L7_ : ((op (e0) (e4)) = (e4)) -> ((op (e1) (e2)) = (e4)) -> (~((e4) = (op (e0) (op (e1) (e2))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H1b zenon_H1c zenon_H1d.
% 47.33/47.57  elim (classic ((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [ zenon_intro zenon_H1e | zenon_intro zenon_H1f ].
% 47.33/47.57  cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2)))) = ((e4) = (op (e0) (op (e1) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H1d.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H1e.
% 47.33/47.57  cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1f].
% 47.33/47.57  cut (((op (e0) (op (e1) (e2))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H20].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e4)) = (e4)) = ((op (e0) (op (e1) (e2))) = (e4))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H20.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H1b.
% 47.33/47.57  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.33/47.57  cut (((op (e0) (e4)) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [ zenon_intro zenon_H1e | zenon_intro zenon_H1f ].
% 47.33/47.57  cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2)))) = ((op (e0) (e4)) = (op (e0) (op (e1) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H21.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H1e.
% 47.33/47.57  cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1f].
% 47.33/47.57  cut (((op (e0) (op (e1) (e2))) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H22].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H23 zenon_H1c).
% 47.33/47.57  apply zenon_H1f. apply refl_equal.
% 47.33/47.57  apply zenon_H1f. apply refl_equal.
% 47.33/47.57  apply zenon_H1a. apply refl_equal.
% 47.33/47.57  apply zenon_H1f. apply refl_equal.
% 47.33/47.57  apply zenon_H1f. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L7_ *)
% 47.33/47.57  assert (zenon_L8_ : (~((e3) = (e3))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H24.
% 47.33/47.57  apply zenon_H24. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L8_ *)
% 47.33/47.57  assert (zenon_L9_ : (~((e5) = (e5))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H25.
% 47.33/47.57  apply zenon_H25. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L9_ *)
% 47.33/47.57  assert (zenon_L10_ : ((op (e0) (e5)) = (e5)) -> ((op (e1) (e3)) = (e5)) -> (~((e5) = (op (e0) (op (e1) (e3))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H26 zenon_H27 zenon_H28.
% 47.33/47.57  elim (classic ((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [ zenon_intro zenon_H29 | zenon_intro zenon_H2a ].
% 47.33/47.57  cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3)))) = ((e5) = (op (e0) (op (e1) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H28.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H29.
% 47.33/47.57  cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 47.33/47.57  cut (((op (e0) (op (e1) (e3))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e5)) = (e5)) = ((op (e0) (op (e1) (e3))) = (e5))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H2b.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H26.
% 47.33/47.57  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.33/47.57  cut (((op (e0) (e5)) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2c].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [ zenon_intro zenon_H29 | zenon_intro zenon_H2a ].
% 47.33/47.57  cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3)))) = ((op (e0) (e5)) = (op (e0) (op (e1) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H2c.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H29.
% 47.33/47.57  cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 47.33/47.57  cut (((op (e0) (op (e1) (e3))) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H2d].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H2e zenon_H27).
% 47.33/47.57  apply zenon_H2a. apply refl_equal.
% 47.33/47.57  apply zenon_H2a. apply refl_equal.
% 47.33/47.57  apply zenon_H25. apply refl_equal.
% 47.33/47.57  apply zenon_H2a. apply refl_equal.
% 47.33/47.57  apply zenon_H2a. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L10_ *)
% 47.33/47.57  assert (zenon_L11_ : ((op (e0) (e2)) = (e2)) -> ((op (e1) (e4)) = (e2)) -> (~((e2) = (op (e0) (op (e1) (e4))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H2f zenon_H30 zenon_H31.
% 47.33/47.57  elim (classic ((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4))))); [ zenon_intro zenon_H32 | zenon_intro zenon_H33 ].
% 47.33/47.57  cut (((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4)))) = ((e2) = (op (e0) (op (e1) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H31.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H32.
% 47.33/47.57  cut (((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 47.33/47.57  cut (((op (e0) (op (e1) (e4))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H34].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e1) (e4))) = (e2))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H34.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H2f.
% 47.33/47.57  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.57  cut (((op (e0) (e2)) = (op (e0) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H35].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4))))); [ zenon_intro zenon_H32 | zenon_intro zenon_H33 ].
% 47.33/47.57  cut (((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4)))) = ((op (e0) (e2)) = (op (e0) (op (e1) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H35.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H32.
% 47.33/47.57  cut (((op (e0) (op (e1) (e4))) = (op (e0) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 47.33/47.57  cut (((op (e0) (op (e1) (e4))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H37 zenon_H30).
% 47.33/47.57  apply zenon_H33. apply refl_equal.
% 47.33/47.57  apply zenon_H33. apply refl_equal.
% 47.33/47.57  apply zenon_H19. apply refl_equal.
% 47.33/47.57  apply zenon_H33. apply refl_equal.
% 47.33/47.57  apply zenon_H33. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L11_ *)
% 47.33/47.57  assert (zenon_L12_ : ((op (e0) (e3)) = (e3)) -> ((op (e1) (e5)) = (e3)) -> (~((e3) = (op (e0) (op (e1) (e5))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H38 zenon_H39 zenon_H3a.
% 47.33/47.57  elim (classic ((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5))))); [ zenon_intro zenon_H3b | zenon_intro zenon_H3c ].
% 47.33/47.57  cut (((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5)))) = ((e3) = (op (e0) (op (e1) (e5))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H3a.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H3b.
% 47.33/47.57  cut (((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3c].
% 47.33/47.57  cut (((op (e0) (op (e1) (e5))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H3d].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e1) (e5))) = (e3))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H3d.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H38.
% 47.33/47.57  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.33/47.57  cut (((op (e0) (e3)) = (op (e0) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5))))); [ zenon_intro zenon_H3b | zenon_intro zenon_H3c ].
% 47.33/47.57  cut (((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5)))) = ((op (e0) (e3)) = (op (e0) (op (e1) (e5))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H3e.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H3b.
% 47.33/47.57  cut (((op (e0) (op (e1) (e5))) = (op (e0) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3c].
% 47.33/47.57  cut (((op (e0) (op (e1) (e5))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H40 zenon_H39).
% 47.33/47.57  apply zenon_H3c. apply refl_equal.
% 47.33/47.57  apply zenon_H3c. apply refl_equal.
% 47.33/47.57  apply zenon_H24. apply refl_equal.
% 47.33/47.57  apply zenon_H3c. apply refl_equal.
% 47.33/47.57  apply zenon_H3c. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L12_ *)
% 47.33/47.57  assert (zenon_L13_ : ((op (e0) (e2)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((e2) = (op (e0) (op (e2) (e0))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H2f zenon_H41 zenon_H42.
% 47.33/47.57  elim (classic ((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [ zenon_intro zenon_H43 | zenon_intro zenon_H44 ].
% 47.33/47.57  cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0)))) = ((e2) = (op (e0) (op (e2) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H42.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H43.
% 47.33/47.57  cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H44].
% 47.33/47.57  cut (((op (e0) (op (e2) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e2) (e0))) = (e2))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H45.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H2f.
% 47.33/47.57  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.57  cut (((op (e0) (e2)) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H46].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [ zenon_intro zenon_H43 | zenon_intro zenon_H44 ].
% 47.33/47.57  cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0)))) = ((op (e0) (e2)) = (op (e0) (op (e2) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H46.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H43.
% 47.33/47.57  cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H44].
% 47.33/47.57  cut (((op (e0) (op (e2) (e0))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H47].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H48 zenon_H41).
% 47.33/47.57  apply zenon_H44. apply refl_equal.
% 47.33/47.57  apply zenon_H44. apply refl_equal.
% 47.33/47.57  apply zenon_H19. apply refl_equal.
% 47.33/47.57  apply zenon_H44. apply refl_equal.
% 47.33/47.57  apply zenon_H44. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L13_ *)
% 47.33/47.57  assert (zenon_L14_ : ((op (e0) (e4)) = (e4)) -> ((op (e2) (e1)) = (e4)) -> (~((e4) = (op (e0) (op (e2) (e1))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H1b zenon_H49 zenon_H4a.
% 47.33/47.57  elim (classic ((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [ zenon_intro zenon_H4b | zenon_intro zenon_H4c ].
% 47.33/47.57  cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1)))) = ((e4) = (op (e0) (op (e2) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H4a.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H4b.
% 47.33/47.57  cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 47.33/47.57  cut (((op (e0) (op (e2) (e1))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e4)) = (e4)) = ((op (e0) (op (e2) (e1))) = (e4))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H4d.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H1b.
% 47.33/47.57  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.33/47.57  cut (((op (e0) (e4)) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [ zenon_intro zenon_H4b | zenon_intro zenon_H4c ].
% 47.33/47.57  cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1)))) = ((op (e0) (e4)) = (op (e0) (op (e2) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H4e.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H4b.
% 47.33/47.57  cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 47.33/47.57  cut (((op (e0) (op (e2) (e1))) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H4f].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H50 zenon_H49).
% 47.33/47.57  apply zenon_H4c. apply refl_equal.
% 47.33/47.57  apply zenon_H4c. apply refl_equal.
% 47.33/47.57  apply zenon_H1a. apply refl_equal.
% 47.33/47.57  apply zenon_H4c. apply refl_equal.
% 47.33/47.57  apply zenon_H4c. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L14_ *)
% 47.33/47.57  assert (zenon_L15_ : ((op (e0) (e3)) = (e3)) -> ((op (e2) (e2)) = (e3)) -> (~((e3) = (op (e0) (op (e2) (e2))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H38 zenon_H51 zenon_H52.
% 47.33/47.57  elim (classic ((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [ zenon_intro zenon_H53 | zenon_intro zenon_H54 ].
% 47.33/47.57  cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2)))) = ((e3) = (op (e0) (op (e2) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H52.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H53.
% 47.33/47.57  cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H54].
% 47.33/47.57  cut (((op (e0) (op (e2) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e2) (e2))) = (e3))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H55.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H38.
% 47.33/47.57  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.33/47.57  cut (((op (e0) (e3)) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H56].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [ zenon_intro zenon_H53 | zenon_intro zenon_H54 ].
% 47.33/47.57  cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2)))) = ((op (e0) (e3)) = (op (e0) (op (e2) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H56.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H53.
% 47.33/47.57  cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H54].
% 47.33/47.57  cut (((op (e0) (op (e2) (e2))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H57].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H58 zenon_H51).
% 47.33/47.57  apply zenon_H54. apply refl_equal.
% 47.33/47.57  apply zenon_H54. apply refl_equal.
% 47.33/47.57  apply zenon_H24. apply refl_equal.
% 47.33/47.57  apply zenon_H54. apply refl_equal.
% 47.33/47.57  apply zenon_H54. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L15_ *)
% 47.33/47.57  assert (zenon_L16_ : ((op (e0) (e0)) = (e0)) -> ((op (e2) (e3)) = (e0)) -> (~((e0) = (op (e0) (op (e2) (e3))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H10 zenon_H59 zenon_H5a.
% 47.33/47.57  elim (classic ((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [ zenon_intro zenon_H5b | zenon_intro zenon_H5c ].
% 47.33/47.57  cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3)))) = ((e0) = (op (e0) (op (e2) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H5a.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H5b.
% 47.33/47.57  cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 47.33/47.57  cut (((op (e0) (op (e2) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e2) (e3))) = (e0))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H5d.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H10.
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  cut (((op (e0) (e0)) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [ zenon_intro zenon_H5b | zenon_intro zenon_H5c ].
% 47.33/47.57  cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3)))) = ((op (e0) (e0)) = (op (e0) (op (e2) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H5e.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H5b.
% 47.33/47.57  cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 47.33/47.57  cut (((op (e0) (op (e2) (e3))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H60 zenon_H59).
% 47.33/47.57  apply zenon_H5c. apply refl_equal.
% 47.33/47.57  apply zenon_H5c. apply refl_equal.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  apply zenon_H5c. apply refl_equal.
% 47.33/47.57  apply zenon_H5c. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L16_ *)
% 47.33/47.57  assert (zenon_L17_ : ((op (e0) (e5)) = (e5)) -> ((op (e2) (e4)) = (e5)) -> (~((e5) = (op (e0) (op (e2) (e4))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H26 zenon_H61 zenon_H62.
% 47.33/47.57  elim (classic ((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4))))); [ zenon_intro zenon_H63 | zenon_intro zenon_H64 ].
% 47.33/47.57  cut (((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4)))) = ((e5) = (op (e0) (op (e2) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H62.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H63.
% 47.33/47.57  cut (((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 47.33/47.57  cut (((op (e0) (op (e2) (e4))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e5)) = (e5)) = ((op (e0) (op (e2) (e4))) = (e5))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H65.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H26.
% 47.33/47.57  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.33/47.57  cut (((op (e0) (e5)) = (op (e0) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4))))); [ zenon_intro zenon_H63 | zenon_intro zenon_H64 ].
% 47.33/47.57  cut (((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4)))) = ((op (e0) (e5)) = (op (e0) (op (e2) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H66.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H63.
% 47.33/47.57  cut (((op (e0) (op (e2) (e4))) = (op (e0) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 47.33/47.57  cut (((op (e0) (op (e2) (e4))) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H68 zenon_H61).
% 47.33/47.57  apply zenon_H64. apply refl_equal.
% 47.33/47.57  apply zenon_H64. apply refl_equal.
% 47.33/47.57  apply zenon_H25. apply refl_equal.
% 47.33/47.57  apply zenon_H64. apply refl_equal.
% 47.33/47.57  apply zenon_H64. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L17_ *)
% 47.33/47.57  assert (zenon_L18_ : ((op (e0) (e1)) = (e1)) -> ((op (e2) (e5)) = (e1)) -> (~((e1) = (op (e0) (op (e2) (e5))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H7 zenon_H69 zenon_H6a.
% 47.33/47.57  elim (classic ((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5))))); [ zenon_intro zenon_H6b | zenon_intro zenon_H6c ].
% 47.33/47.57  cut (((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5)))) = ((e1) = (op (e0) (op (e2) (e5))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H6a.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H6b.
% 47.33/47.57  cut (((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6c].
% 47.33/47.57  cut (((op (e0) (op (e2) (e5))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e2) (e5))) = (e1))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H6d.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H7.
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  cut (((op (e0) (e1)) = (op (e0) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6e].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5))))); [ zenon_intro zenon_H6b | zenon_intro zenon_H6c ].
% 47.33/47.57  cut (((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5)))) = ((op (e0) (e1)) = (op (e0) (op (e2) (e5))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H6e.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H6b.
% 47.33/47.57  cut (((op (e0) (op (e2) (e5))) = (op (e0) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6c].
% 47.33/47.57  cut (((op (e0) (op (e2) (e5))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H70 zenon_H69).
% 47.33/47.57  apply zenon_H6c. apply refl_equal.
% 47.33/47.57  apply zenon_H6c. apply refl_equal.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  apply zenon_H6c. apply refl_equal.
% 47.33/47.57  apply zenon_H6c. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L18_ *)
% 47.33/47.57  assert (zenon_L19_ : ((op (e0) (e3)) = (e3)) -> ((op (e3) (e0)) = (e3)) -> (~((e3) = (op (e0) (op (e3) (e0))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H38 zenon_H71 zenon_H72.
% 47.33/47.57  elim (classic ((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [ zenon_intro zenon_H73 | zenon_intro zenon_H74 ].
% 47.33/47.57  cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0)))) = ((e3) = (op (e0) (op (e3) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H72.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H73.
% 47.33/47.57  cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H74].
% 47.33/47.57  cut (((op (e0) (op (e3) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H75].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e3) (e0))) = (e3))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H75.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H38.
% 47.33/47.57  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.33/47.57  cut (((op (e0) (e3)) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H76].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [ zenon_intro zenon_H73 | zenon_intro zenon_H74 ].
% 47.33/47.57  cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0)))) = ((op (e0) (e3)) = (op (e0) (op (e3) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H76.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H73.
% 47.33/47.57  cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H74].
% 47.33/47.57  cut (((op (e0) (op (e3) (e0))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H78 zenon_H71).
% 47.33/47.57  apply zenon_H74. apply refl_equal.
% 47.33/47.57  apply zenon_H74. apply refl_equal.
% 47.33/47.57  apply zenon_H24. apply refl_equal.
% 47.33/47.57  apply zenon_H74. apply refl_equal.
% 47.33/47.57  apply zenon_H74. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L19_ *)
% 47.33/47.57  assert (zenon_L20_ : ((op (e0) (e5)) = (e5)) -> ((op (e3) (e1)) = (e5)) -> (~((e5) = (op (e0) (op (e3) (e1))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H26 zenon_H79 zenon_H7a.
% 47.33/47.57  elim (classic ((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [ zenon_intro zenon_H7b | zenon_intro zenon_H7c ].
% 47.33/47.57  cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1)))) = ((e5) = (op (e0) (op (e3) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H7a.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H7b.
% 47.33/47.57  cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7c].
% 47.33/47.57  cut (((op (e0) (op (e3) (e1))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e5)) = (e5)) = ((op (e0) (op (e3) (e1))) = (e5))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H7d.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H26.
% 47.33/47.57  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.33/47.57  cut (((op (e0) (e5)) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [ zenon_intro zenon_H7b | zenon_intro zenon_H7c ].
% 47.33/47.57  cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1)))) = ((op (e0) (e5)) = (op (e0) (op (e3) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H7e.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H7b.
% 47.33/47.57  cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7c].
% 47.33/47.57  cut (((op (e0) (op (e3) (e1))) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7f].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H80 zenon_H79).
% 47.33/47.57  apply zenon_H7c. apply refl_equal.
% 47.33/47.57  apply zenon_H7c. apply refl_equal.
% 47.33/47.57  apply zenon_H25. apply refl_equal.
% 47.33/47.57  apply zenon_H7c. apply refl_equal.
% 47.33/47.57  apply zenon_H7c. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L20_ *)
% 47.33/47.57  assert (zenon_L21_ : ((op (e0) (e0)) = (e0)) -> ((op (e3) (e2)) = (e0)) -> (~((e0) = (op (e0) (op (e3) (e2))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H10 zenon_H81 zenon_H82.
% 47.33/47.57  elim (classic ((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [ zenon_intro zenon_H83 | zenon_intro zenon_H84 ].
% 47.33/47.57  cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2)))) = ((e0) = (op (e0) (op (e3) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H82.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H83.
% 47.33/47.57  cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 47.33/47.57  cut (((op (e0) (op (e3) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H85].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e3) (e2))) = (e0))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H85.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H10.
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  cut (((op (e0) (e0)) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [ zenon_intro zenon_H83 | zenon_intro zenon_H84 ].
% 47.33/47.57  cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2)))) = ((op (e0) (e0)) = (op (e0) (op (e3) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H86.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H83.
% 47.33/47.57  cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 47.33/47.57  cut (((op (e0) (op (e3) (e2))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H87].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H88 zenon_H81).
% 47.33/47.57  apply zenon_H84. apply refl_equal.
% 47.33/47.57  apply zenon_H84. apply refl_equal.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  apply zenon_H84. apply refl_equal.
% 47.33/47.57  apply zenon_H84. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L21_ *)
% 47.33/47.57  assert (zenon_L22_ : ((op (e0) (e2)) = (e2)) -> ((op (e3) (e3)) = (e2)) -> (~((e2) = (op (e0) (op (e3) (e3))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H2f zenon_H89 zenon_H8a.
% 47.33/47.57  elim (classic ((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [ zenon_intro zenon_H8b | zenon_intro zenon_H8c ].
% 47.33/47.57  cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3)))) = ((e2) = (op (e0) (op (e3) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H8a.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H8b.
% 47.33/47.57  cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H8c].
% 47.33/47.57  cut (((op (e0) (op (e3) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e3) (e3))) = (e2))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H8d.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H2f.
% 47.33/47.57  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.57  cut (((op (e0) (e2)) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H8e].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [ zenon_intro zenon_H8b | zenon_intro zenon_H8c ].
% 47.33/47.57  cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3)))) = ((op (e0) (e2)) = (op (e0) (op (e3) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H8e.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H8b.
% 47.33/47.57  cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H8c].
% 47.33/47.57  cut (((op (e0) (op (e3) (e3))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H90 zenon_H89).
% 47.33/47.57  apply zenon_H8c. apply refl_equal.
% 47.33/47.57  apply zenon_H8c. apply refl_equal.
% 47.33/47.57  apply zenon_H19. apply refl_equal.
% 47.33/47.57  apply zenon_H8c. apply refl_equal.
% 47.33/47.57  apply zenon_H8c. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L22_ *)
% 47.33/47.57  assert (zenon_L23_ : ((op (e0) (e1)) = (e1)) -> ((op (e3) (e4)) = (e1)) -> (~((e1) = (op (e0) (op (e3) (e4))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H7 zenon_H91 zenon_H92.
% 47.33/47.57  elim (classic ((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4))))); [ zenon_intro zenon_H93 | zenon_intro zenon_H94 ].
% 47.33/47.57  cut (((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4)))) = ((e1) = (op (e0) (op (e3) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H92.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H93.
% 47.33/47.57  cut (((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H94].
% 47.33/47.57  cut (((op (e0) (op (e3) (e4))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H95].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e3) (e4))) = (e1))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H95.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H7.
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  cut (((op (e0) (e1)) = (op (e0) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4))))); [ zenon_intro zenon_H93 | zenon_intro zenon_H94 ].
% 47.33/47.57  cut (((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4)))) = ((op (e0) (e1)) = (op (e0) (op (e3) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H96.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H93.
% 47.33/47.57  cut (((op (e0) (op (e3) (e4))) = (op (e0) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H94].
% 47.33/47.57  cut (((op (e0) (op (e3) (e4))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H98 zenon_H91).
% 47.33/47.57  apply zenon_H94. apply refl_equal.
% 47.33/47.57  apply zenon_H94. apply refl_equal.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  apply zenon_H94. apply refl_equal.
% 47.33/47.57  apply zenon_H94. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L23_ *)
% 47.33/47.57  assert (zenon_L24_ : ((op (e0) (e4)) = (e4)) -> ((op (e3) (e5)) = (e4)) -> (~((e4) = (op (e0) (op (e3) (e5))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H1b zenon_H99 zenon_H9a.
% 47.33/47.57  elim (classic ((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5))))); [ zenon_intro zenon_H9b | zenon_intro zenon_H9c ].
% 47.33/47.57  cut (((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5)))) = ((e4) = (op (e0) (op (e3) (e5))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H9a.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H9b.
% 47.33/47.57  cut (((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9c].
% 47.33/47.57  cut (((op (e0) (op (e3) (e5))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H9d].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e4)) = (e4)) = ((op (e0) (op (e3) (e5))) = (e4))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H9d.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H1b.
% 47.33/47.57  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.33/47.57  cut (((op (e0) (e4)) = (op (e0) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5))))); [ zenon_intro zenon_H9b | zenon_intro zenon_H9c ].
% 47.33/47.57  cut (((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5)))) = ((op (e0) (e4)) = (op (e0) (op (e3) (e5))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H9e.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H9b.
% 47.33/47.57  cut (((op (e0) (op (e3) (e5))) = (op (e0) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9c].
% 47.33/47.57  cut (((op (e0) (op (e3) (e5))) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9f].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_Ha0 zenon_H99).
% 47.33/47.57  apply zenon_H9c. apply refl_equal.
% 47.33/47.57  apply zenon_H9c. apply refl_equal.
% 47.33/47.57  apply zenon_H1a. apply refl_equal.
% 47.33/47.57  apply zenon_H9c. apply refl_equal.
% 47.33/47.57  apply zenon_H9c. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L24_ *)
% 47.33/47.57  assert (zenon_L25_ : ((op (e0) (e4)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((e4) = (op (e0) (op (e4) (e0))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H1b zenon_Ha1 zenon_Ha2.
% 47.33/47.57  elim (classic ((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0))))); [ zenon_intro zenon_Ha3 | zenon_intro zenon_Ha4 ].
% 47.33/47.57  cut (((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0)))) = ((e4) = (op (e0) (op (e4) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Ha2.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Ha3.
% 47.33/47.57  cut (((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha4].
% 47.33/47.57  cut (((op (e0) (op (e4) (e0))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e4)) = (e4)) = ((op (e0) (op (e4) (e0))) = (e4))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Ha5.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H1b.
% 47.33/47.57  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.33/47.57  cut (((op (e0) (e4)) = (op (e0) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha6].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0))))); [ zenon_intro zenon_Ha3 | zenon_intro zenon_Ha4 ].
% 47.33/47.57  cut (((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0)))) = ((op (e0) (e4)) = (op (e0) (op (e4) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Ha6.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Ha3.
% 47.33/47.57  cut (((op (e0) (op (e4) (e0))) = (op (e0) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha4].
% 47.33/47.57  cut (((op (e0) (op (e4) (e0))) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_Ha8 zenon_Ha1).
% 47.33/47.57  apply zenon_Ha4. apply refl_equal.
% 47.33/47.57  apply zenon_Ha4. apply refl_equal.
% 47.33/47.57  apply zenon_H1a. apply refl_equal.
% 47.33/47.57  apply zenon_Ha4. apply refl_equal.
% 47.33/47.57  apply zenon_Ha4. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L25_ *)
% 47.33/47.57  assert (zenon_L26_ : ((op (e0) (e2)) = (e2)) -> ((op (e4) (e1)) = (e2)) -> (~((e2) = (op (e0) (op (e4) (e1))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H2f zenon_Ha9 zenon_Haa.
% 47.33/47.57  elim (classic ((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1))))); [ zenon_intro zenon_Hab | zenon_intro zenon_Hac ].
% 47.33/47.57  cut (((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1)))) = ((e2) = (op (e0) (op (e4) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Haa.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hab.
% 47.33/47.57  cut (((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 47.33/47.57  cut (((op (e0) (op (e4) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Had].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e4) (e1))) = (e2))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Had.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H2f.
% 47.33/47.57  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.57  cut (((op (e0) (e2)) = (op (e0) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hae].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1))))); [ zenon_intro zenon_Hab | zenon_intro zenon_Hac ].
% 47.33/47.57  cut (((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1)))) = ((op (e0) (e2)) = (op (e0) (op (e4) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hae.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hab.
% 47.33/47.57  cut (((op (e0) (op (e4) (e1))) = (op (e0) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 47.33/47.57  cut (((op (e0) (op (e4) (e1))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Haf].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_Hb0 zenon_Ha9).
% 47.33/47.57  apply zenon_Hac. apply refl_equal.
% 47.33/47.57  apply zenon_Hac. apply refl_equal.
% 47.33/47.57  apply zenon_H19. apply refl_equal.
% 47.33/47.57  apply zenon_Hac. apply refl_equal.
% 47.33/47.57  apply zenon_Hac. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L26_ *)
% 47.33/47.57  assert (zenon_L27_ : ((op (e0) (e5)) = (e5)) -> ((op (e4) (e2)) = (e5)) -> (~((e5) = (op (e0) (op (e4) (e2))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H26 zenon_Hb1 zenon_Hb2.
% 47.33/47.57  elim (classic ((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2))))); [ zenon_intro zenon_Hb3 | zenon_intro zenon_Hb4 ].
% 47.33/47.57  cut (((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2)))) = ((e5) = (op (e0) (op (e4) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hb2.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hb3.
% 47.33/47.57  cut (((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb4].
% 47.33/47.57  cut (((op (e0) (op (e4) (e2))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb5].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e5)) = (e5)) = ((op (e0) (op (e4) (e2))) = (e5))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hb5.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H26.
% 47.33/47.57  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.33/47.57  cut (((op (e0) (e5)) = (op (e0) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb6].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2))))); [ zenon_intro zenon_Hb3 | zenon_intro zenon_Hb4 ].
% 47.33/47.57  cut (((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2)))) = ((op (e0) (e5)) = (op (e0) (op (e4) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hb6.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hb3.
% 47.33/47.57  cut (((op (e0) (op (e4) (e2))) = (op (e0) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb4].
% 47.33/47.57  cut (((op (e0) (op (e4) (e2))) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb7].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_Hb8 zenon_Hb1).
% 47.33/47.57  apply zenon_Hb4. apply refl_equal.
% 47.33/47.57  apply zenon_Hb4. apply refl_equal.
% 47.33/47.57  apply zenon_H25. apply refl_equal.
% 47.33/47.57  apply zenon_Hb4. apply refl_equal.
% 47.33/47.57  apply zenon_Hb4. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L27_ *)
% 47.33/47.57  assert (zenon_L28_ : ((op (e0) (e1)) = (e1)) -> ((op (e4) (e3)) = (e1)) -> (~((e1) = (op (e0) (op (e4) (e3))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H7 zenon_Hb9 zenon_Hba.
% 47.33/47.57  elim (classic ((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3))))); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbc ].
% 47.33/47.57  cut (((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3)))) = ((e1) = (op (e0) (op (e4) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hba.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hbb.
% 47.33/47.57  cut (((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hbc].
% 47.33/47.57  cut (((op (e0) (op (e4) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e4) (e3))) = (e1))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hbd.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H7.
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  cut (((op (e0) (e1)) = (op (e0) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3))))); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbc ].
% 47.33/47.57  cut (((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3)))) = ((op (e0) (e1)) = (op (e0) (op (e4) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hbe.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hbb.
% 47.33/47.57  cut (((op (e0) (op (e4) (e3))) = (op (e0) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hbc].
% 47.33/47.57  cut (((op (e0) (op (e4) (e3))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_Hc0 zenon_Hb9).
% 47.33/47.57  apply zenon_Hbc. apply refl_equal.
% 47.33/47.57  apply zenon_Hbc. apply refl_equal.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  apply zenon_Hbc. apply refl_equal.
% 47.33/47.57  apply zenon_Hbc. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L28_ *)
% 47.33/47.57  assert (zenon_L29_ : ((op (e0) (e3)) = (e3)) -> ((op (e4) (e4)) = (e3)) -> (~((e3) = (op (e0) (op (e4) (e4))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H38 zenon_Hc1 zenon_Hc2.
% 47.33/47.57  elim (classic ((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4))))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc4 ].
% 47.33/47.57  cut (((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4)))) = ((e3) = (op (e0) (op (e4) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hc2.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hc3.
% 47.33/47.57  cut (((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hc4].
% 47.33/47.57  cut (((op (e0) (op (e4) (e4))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc5].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e4) (e4))) = (e3))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hc5.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H38.
% 47.33/47.57  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.33/47.57  cut (((op (e0) (e3)) = (op (e0) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hc6].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4))))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc4 ].
% 47.33/47.57  cut (((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4)))) = ((op (e0) (e3)) = (op (e0) (op (e4) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hc6.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hc3.
% 47.33/47.57  cut (((op (e0) (op (e4) (e4))) = (op (e0) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hc4].
% 47.33/47.57  cut (((op (e0) (op (e4) (e4))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hc7].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_Hc8 zenon_Hc1).
% 47.33/47.57  apply zenon_Hc4. apply refl_equal.
% 47.33/47.57  apply zenon_Hc4. apply refl_equal.
% 47.33/47.57  apply zenon_H24. apply refl_equal.
% 47.33/47.57  apply zenon_Hc4. apply refl_equal.
% 47.33/47.57  apply zenon_Hc4. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L29_ *)
% 47.33/47.57  assert (zenon_L30_ : ((op (e0) (e0)) = (e0)) -> ((op (e4) (e5)) = (e0)) -> (~((e0) = (op (e0) (op (e4) (e5))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H10 zenon_Hc9 zenon_Hca.
% 47.33/47.57  elim (classic ((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5))))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hcc ].
% 47.33/47.57  cut (((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5)))) = ((e0) = (op (e0) (op (e4) (e5))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hca.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hcb.
% 47.33/47.57  cut (((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hcc].
% 47.33/47.57  cut (((op (e0) (op (e4) (e5))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e4) (e5))) = (e0))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hcd.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H10.
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  cut (((op (e0) (e0)) = (op (e0) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5))))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hcc ].
% 47.33/47.57  cut (((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5)))) = ((op (e0) (e0)) = (op (e0) (op (e4) (e5))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hce.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hcb.
% 47.33/47.57  cut (((op (e0) (op (e4) (e5))) = (op (e0) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hcc].
% 47.33/47.57  cut (((op (e0) (op (e4) (e5))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hcf].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_Hd0 zenon_Hc9).
% 47.33/47.57  apply zenon_Hcc. apply refl_equal.
% 47.33/47.57  apply zenon_Hcc. apply refl_equal.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  apply zenon_Hcc. apply refl_equal.
% 47.33/47.57  apply zenon_Hcc. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L30_ *)
% 47.33/47.57  assert (zenon_L31_ : ((op (e0) (e5)) = (e5)) -> ((op (e5) (e0)) = (e5)) -> (~((e5) = (op (e0) (op (e5) (e0))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H26 zenon_Hd1 zenon_Hd2.
% 47.33/47.57  elim (classic ((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0))))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_Hd4 ].
% 47.33/47.57  cut (((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0)))) = ((e5) = (op (e0) (op (e5) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hd2.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hd3.
% 47.33/47.57  cut (((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hd4].
% 47.33/47.57  cut (((op (e0) (op (e5) (e0))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e5)) = (e5)) = ((op (e0) (op (e5) (e0))) = (e5))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hd5.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H26.
% 47.33/47.57  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.33/47.57  cut (((op (e0) (e5)) = (op (e0) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0))))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_Hd4 ].
% 47.33/47.57  cut (((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0)))) = ((op (e0) (e5)) = (op (e0) (op (e5) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hd6.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hd3.
% 47.33/47.57  cut (((op (e0) (op (e5) (e0))) = (op (e0) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hd4].
% 47.33/47.57  cut (((op (e0) (op (e5) (e0))) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hd7].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_Hd8 zenon_Hd1).
% 47.33/47.57  apply zenon_Hd4. apply refl_equal.
% 47.33/47.57  apply zenon_Hd4. apply refl_equal.
% 47.33/47.57  apply zenon_H25. apply refl_equal.
% 47.33/47.57  apply zenon_Hd4. apply refl_equal.
% 47.33/47.57  apply zenon_Hd4. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L31_ *)
% 47.33/47.57  assert (zenon_L32_ : ((op (e0) (e3)) = (e3)) -> ((op (e5) (e1)) = (e3)) -> (~((e3) = (op (e0) (op (e5) (e1))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H38 zenon_Hd9 zenon_Hda.
% 47.33/47.57  elim (classic ((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1))))); [ zenon_intro zenon_Hdb | zenon_intro zenon_Hdc ].
% 47.33/47.57  cut (((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1)))) = ((e3) = (op (e0) (op (e5) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hda.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hdb.
% 47.33/47.57  cut (((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hdc].
% 47.33/47.57  cut (((op (e0) (op (e5) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hdd].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e5) (e1))) = (e3))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hdd.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H38.
% 47.33/47.57  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.33/47.57  cut (((op (e0) (e3)) = (op (e0) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hde].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1))))); [ zenon_intro zenon_Hdb | zenon_intro zenon_Hdc ].
% 47.33/47.57  cut (((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1)))) = ((op (e0) (e3)) = (op (e0) (op (e5) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hde.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hdb.
% 47.33/47.57  cut (((op (e0) (op (e5) (e1))) = (op (e0) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hdc].
% 47.33/47.57  cut (((op (e0) (op (e5) (e1))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hdf].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_He0 zenon_Hd9).
% 47.33/47.57  apply zenon_Hdc. apply refl_equal.
% 47.33/47.57  apply zenon_Hdc. apply refl_equal.
% 47.33/47.57  apply zenon_H24. apply refl_equal.
% 47.33/47.57  apply zenon_Hdc. apply refl_equal.
% 47.33/47.57  apply zenon_Hdc. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L32_ *)
% 47.33/47.57  assert (zenon_L33_ : ((op (e0) (e1)) = (e1)) -> ((op (e5) (e2)) = (e1)) -> (~((e1) = (op (e0) (op (e5) (e2))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H7 zenon_He1 zenon_He2.
% 47.33/47.57  elim (classic ((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2))))); [ zenon_intro zenon_He3 | zenon_intro zenon_He4 ].
% 47.33/47.57  cut (((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2)))) = ((e1) = (op (e0) (op (e5) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_He2.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_He3.
% 47.33/47.57  cut (((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 47.33/47.57  cut (((op (e0) (op (e5) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He5].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e5) (e2))) = (e1))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_He5.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H7.
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  cut (((op (e0) (e1)) = (op (e0) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_He6].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2))))); [ zenon_intro zenon_He3 | zenon_intro zenon_He4 ].
% 47.33/47.57  cut (((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2)))) = ((op (e0) (e1)) = (op (e0) (op (e5) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_He6.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_He3.
% 47.33/47.57  cut (((op (e0) (op (e5) (e2))) = (op (e0) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 47.33/47.57  cut (((op (e0) (op (e5) (e2))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_He7].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_He8 zenon_He1).
% 47.33/47.57  apply zenon_He4. apply refl_equal.
% 47.33/47.57  apply zenon_He4. apply refl_equal.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  apply zenon_He4. apply refl_equal.
% 47.33/47.57  apply zenon_He4. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L33_ *)
% 47.33/47.57  assert (zenon_L34_ : ((op (e0) (e4)) = (e4)) -> ((op (e5) (e3)) = (e4)) -> (~((e4) = (op (e0) (op (e5) (e3))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H1b zenon_He9 zenon_Hea.
% 47.33/47.57  elim (classic ((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3))))); [ zenon_intro zenon_Heb | zenon_intro zenon_Hec ].
% 47.33/47.57  cut (((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3)))) = ((e4) = (op (e0) (op (e5) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hea.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Heb.
% 47.33/47.57  cut (((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 47.33/47.57  cut (((op (e0) (op (e5) (e3))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hed].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e4)) = (e4)) = ((op (e0) (op (e5) (e3))) = (e4))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hed.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H1b.
% 47.33/47.57  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.33/47.57  cut (((op (e0) (e4)) = (op (e0) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hee].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3))))); [ zenon_intro zenon_Heb | zenon_intro zenon_Hec ].
% 47.33/47.57  cut (((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3)))) = ((op (e0) (e4)) = (op (e0) (op (e5) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hee.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Heb.
% 47.33/47.57  cut (((op (e0) (op (e5) (e3))) = (op (e0) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 47.33/47.57  cut (((op (e0) (op (e5) (e3))) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hef].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_Hf0 zenon_He9).
% 47.33/47.57  apply zenon_Hec. apply refl_equal.
% 47.33/47.57  apply zenon_Hec. apply refl_equal.
% 47.33/47.57  apply zenon_H1a. apply refl_equal.
% 47.33/47.57  apply zenon_Hec. apply refl_equal.
% 47.33/47.57  apply zenon_Hec. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L34_ *)
% 47.33/47.57  assert (zenon_L35_ : ((op (e0) (e0)) = (e0)) -> ((op (e5) (e4)) = (e0)) -> (~((e0) = (op (e0) (op (e5) (e4))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H10 zenon_Hf1 zenon_Hf2.
% 47.33/47.57  elim (classic ((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4))))); [ zenon_intro zenon_Hf3 | zenon_intro zenon_Hf4 ].
% 47.33/47.57  cut (((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4)))) = ((e0) = (op (e0) (op (e5) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hf2.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hf3.
% 47.33/47.57  cut (((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hf4].
% 47.33/47.57  cut (((op (e0) (op (e5) (e4))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf5].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e5) (e4))) = (e0))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hf5.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H10.
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  cut (((op (e0) (e0)) = (op (e0) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hf6].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4))))); [ zenon_intro zenon_Hf3 | zenon_intro zenon_Hf4 ].
% 47.33/47.57  cut (((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4)))) = ((op (e0) (e0)) = (op (e0) (op (e5) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hf6.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hf3.
% 47.33/47.57  cut (((op (e0) (op (e5) (e4))) = (op (e0) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hf4].
% 47.33/47.57  cut (((op (e0) (op (e5) (e4))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hf7].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_Hf8 zenon_Hf1).
% 47.33/47.57  apply zenon_Hf4. apply refl_equal.
% 47.33/47.57  apply zenon_Hf4. apply refl_equal.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  apply zenon_Hf4. apply refl_equal.
% 47.33/47.57  apply zenon_Hf4. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L35_ *)
% 47.33/47.57  assert (zenon_L36_ : ((op (e0) (e2)) = (e2)) -> ((op (e5) (e5)) = (e2)) -> (~((e2) = (op (e0) (op (e5) (e5))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H2f zenon_Hf9 zenon_Hfa.
% 47.33/47.57  elim (classic ((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5))))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hfc ].
% 47.33/47.57  cut (((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5)))) = ((e2) = (op (e0) (op (e5) (e5))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hfa.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hfb.
% 47.33/47.57  cut (((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hfc].
% 47.33/47.57  cut (((op (e0) (op (e5) (e5))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hfd].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e5) (e5))) = (e2))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hfd.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H2f.
% 47.33/47.57  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.57  cut (((op (e0) (e2)) = (op (e0) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hfe].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5))))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hfc ].
% 47.33/47.57  cut (((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5)))) = ((op (e0) (e2)) = (op (e0) (op (e5) (e5))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_Hfe.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_Hfb.
% 47.33/47.57  cut (((op (e0) (op (e5) (e5))) = (op (e0) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hfc].
% 47.33/47.57  cut (((op (e0) (op (e5) (e5))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  exact (zenon_H100 zenon_Hf9).
% 47.33/47.57  apply zenon_Hfc. apply refl_equal.
% 47.33/47.57  apply zenon_Hfc. apply refl_equal.
% 47.33/47.57  apply zenon_H19. apply refl_equal.
% 47.33/47.57  apply zenon_Hfc. apply refl_equal.
% 47.33/47.57  apply zenon_Hfc. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L36_ *)
% 47.33/47.57  assert (zenon_L37_ : ((op (e1) (e2)) = (e4)) -> ((op (e2) (e0)) = (e2)) -> (~((e4) = (op (e1) (op (e2) (e0))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H1c zenon_H41 zenon_H101.
% 47.33/47.57  elim (classic ((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [ zenon_intro zenon_H102 | zenon_intro zenon_H103 ].
% 47.33/47.57  cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0)))) = ((e4) = (op (e1) (op (e2) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H101.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H102.
% 47.33/47.57  cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H103].
% 47.33/47.57  cut (((op (e1) (op (e2) (e0))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H104].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e2)) = (e4)) = ((op (e1) (op (e2) (e0))) = (e4))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H104.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H1c.
% 47.33/47.57  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.33/47.57  cut (((op (e1) (e2)) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H105].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [ zenon_intro zenon_H102 | zenon_intro zenon_H103 ].
% 47.33/47.57  cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0)))) = ((op (e1) (e2)) = (op (e1) (op (e2) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H105.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H102.
% 47.33/47.57  cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H103].
% 47.33/47.57  cut (((op (e1) (op (e2) (e0))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_H48 zenon_H41).
% 47.33/47.57  apply zenon_H103. apply refl_equal.
% 47.33/47.57  apply zenon_H103. apply refl_equal.
% 47.33/47.57  apply zenon_H1a. apply refl_equal.
% 47.33/47.57  apply zenon_H103. apply refl_equal.
% 47.33/47.57  apply zenon_H103. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L37_ *)
% 47.33/47.57  assert (zenon_L38_ : ((op (e1) (e4)) = (e2)) -> ((op (e2) (e1)) = (e4)) -> (~((e2) = (op (e1) (op (e2) (e1))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H30 zenon_H49 zenon_H107.
% 47.33/47.57  elim (classic ((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ].
% 47.33/47.57  cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1)))) = ((e2) = (op (e1) (op (e2) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H107.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H108.
% 47.33/47.57  cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H109].
% 47.33/47.57  cut (((op (e1) (op (e2) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H10a].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e4)) = (e2)) = ((op (e1) (op (e2) (e1))) = (e2))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H10a.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H30.
% 47.33/47.57  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.57  cut (((op (e1) (e4)) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H10b].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ].
% 47.33/47.57  cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1)))) = ((op (e1) (e4)) = (op (e1) (op (e2) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H10b.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H108.
% 47.33/47.57  cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H109].
% 47.33/47.57  cut (((op (e1) (op (e2) (e1))) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H10c].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_H50 zenon_H49).
% 47.33/47.57  apply zenon_H109. apply refl_equal.
% 47.33/47.57  apply zenon_H109. apply refl_equal.
% 47.33/47.57  apply zenon_H19. apply refl_equal.
% 47.33/47.57  apply zenon_H109. apply refl_equal.
% 47.33/47.57  apply zenon_H109. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L38_ *)
% 47.33/47.57  assert (zenon_L39_ : ((op (e1) (e3)) = (e5)) -> ((op (e2) (e2)) = (e3)) -> (~((e5) = (op (e1) (op (e2) (e2))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H27 zenon_H51 zenon_H10d.
% 47.33/47.57  elim (classic ((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [ zenon_intro zenon_H10e | zenon_intro zenon_H10f ].
% 47.33/47.57  cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2)))) = ((e5) = (op (e1) (op (e2) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H10d.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H10e.
% 47.33/47.57  cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H10f].
% 47.33/47.57  cut (((op (e1) (op (e2) (e2))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e3)) = (e5)) = ((op (e1) (op (e2) (e2))) = (e5))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H110.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H27.
% 47.33/47.57  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.33/47.57  cut (((op (e1) (e3)) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H111].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [ zenon_intro zenon_H10e | zenon_intro zenon_H10f ].
% 47.33/47.57  cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2)))) = ((op (e1) (e3)) = (op (e1) (op (e2) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H111.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H10e.
% 47.33/47.57  cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H10f].
% 47.33/47.57  cut (((op (e1) (op (e2) (e2))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H112].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_H58 zenon_H51).
% 47.33/47.57  apply zenon_H10f. apply refl_equal.
% 47.33/47.57  apply zenon_H10f. apply refl_equal.
% 47.33/47.57  apply zenon_H25. apply refl_equal.
% 47.33/47.57  apply zenon_H10f. apply refl_equal.
% 47.33/47.57  apply zenon_H10f. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L39_ *)
% 47.33/47.57  assert (zenon_L40_ : ((op (e1) (e0)) = (e1)) -> ((op (e2) (e3)) = (e0)) -> (~((e1) = (op (e1) (op (e2) (e3))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H8 zenon_H59 zenon_H113.
% 47.33/47.57  elim (classic ((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [ zenon_intro zenon_H114 | zenon_intro zenon_H115 ].
% 47.33/47.57  cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3)))) = ((e1) = (op (e1) (op (e2) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H113.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H114.
% 47.33/47.57  cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H115].
% 47.33/47.57  cut (((op (e1) (op (e2) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H116].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e2) (e3))) = (e1))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H116.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H8.
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  cut (((op (e1) (e0)) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H117].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [ zenon_intro zenon_H114 | zenon_intro zenon_H115 ].
% 47.33/47.57  cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3)))) = ((op (e1) (e0)) = (op (e1) (op (e2) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H117.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H114.
% 47.33/47.57  cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H115].
% 47.33/47.57  cut (((op (e1) (op (e2) (e3))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H118].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_H60 zenon_H59).
% 47.33/47.57  apply zenon_H115. apply refl_equal.
% 47.33/47.57  apply zenon_H115. apply refl_equal.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  apply zenon_H115. apply refl_equal.
% 47.33/47.57  apply zenon_H115. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L40_ *)
% 47.33/47.57  assert (zenon_L41_ : ((op (e1) (e5)) = (e3)) -> ((op (e2) (e4)) = (e5)) -> (~((e3) = (op (e1) (op (e2) (e4))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H39 zenon_H61 zenon_H119.
% 47.33/47.57  elim (classic ((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4))))); [ zenon_intro zenon_H11a | zenon_intro zenon_H11b ].
% 47.33/47.57  cut (((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4)))) = ((e3) = (op (e1) (op (e2) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H119.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H11a.
% 47.33/47.57  cut (((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H11b].
% 47.33/47.57  cut (((op (e1) (op (e2) (e4))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H11c].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e5)) = (e3)) = ((op (e1) (op (e2) (e4))) = (e3))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H11c.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H39.
% 47.33/47.57  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.33/47.57  cut (((op (e1) (e5)) = (op (e1) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H11d].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4))))); [ zenon_intro zenon_H11a | zenon_intro zenon_H11b ].
% 47.33/47.57  cut (((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4)))) = ((op (e1) (e5)) = (op (e1) (op (e2) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H11d.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H11a.
% 47.33/47.57  cut (((op (e1) (op (e2) (e4))) = (op (e1) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H11b].
% 47.33/47.57  cut (((op (e1) (op (e2) (e4))) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_H68 zenon_H61).
% 47.33/47.57  apply zenon_H11b. apply refl_equal.
% 47.33/47.57  apply zenon_H11b. apply refl_equal.
% 47.33/47.57  apply zenon_H24. apply refl_equal.
% 47.33/47.57  apply zenon_H11b. apply refl_equal.
% 47.33/47.57  apply zenon_H11b. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L41_ *)
% 47.33/47.57  assert (zenon_L42_ : ((op (e1) (e1)) = (e0)) -> ((op (e2) (e5)) = (e1)) -> (~((e0) = (op (e1) (op (e2) (e5))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H11 zenon_H69 zenon_H11f.
% 47.33/47.57  elim (classic ((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5))))); [ zenon_intro zenon_H120 | zenon_intro zenon_H121 ].
% 47.33/47.57  cut (((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5)))) = ((e0) = (op (e1) (op (e2) (e5))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H11f.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H120.
% 47.33/47.57  cut (((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H121].
% 47.33/47.57  cut (((op (e1) (op (e2) (e5))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H122].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e1)) = (e0)) = ((op (e1) (op (e2) (e5))) = (e0))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H122.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H11.
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  cut (((op (e1) (e1)) = (op (e1) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H123].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5))))); [ zenon_intro zenon_H120 | zenon_intro zenon_H121 ].
% 47.33/47.57  cut (((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5)))) = ((op (e1) (e1)) = (op (e1) (op (e2) (e5))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H123.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H120.
% 47.33/47.57  cut (((op (e1) (op (e2) (e5))) = (op (e1) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H121].
% 47.33/47.57  cut (((op (e1) (op (e2) (e5))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H124].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_H70 zenon_H69).
% 47.33/47.57  apply zenon_H121. apply refl_equal.
% 47.33/47.57  apply zenon_H121. apply refl_equal.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  apply zenon_H121. apply refl_equal.
% 47.33/47.57  apply zenon_H121. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L42_ *)
% 47.33/47.57  assert (zenon_L43_ : ((op (e1) (e3)) = (e5)) -> ((op (e3) (e0)) = (e3)) -> (~((e5) = (op (e1) (op (e3) (e0))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H27 zenon_H71 zenon_H125.
% 47.33/47.57  elim (classic ((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [ zenon_intro zenon_H126 | zenon_intro zenon_H127 ].
% 47.33/47.57  cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0)))) = ((e5) = (op (e1) (op (e3) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H125.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H126.
% 47.33/47.57  cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H127].
% 47.33/47.57  cut (((op (e1) (op (e3) (e0))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H128].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e3)) = (e5)) = ((op (e1) (op (e3) (e0))) = (e5))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H128.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H27.
% 47.33/47.57  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.33/47.57  cut (((op (e1) (e3)) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H129].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [ zenon_intro zenon_H126 | zenon_intro zenon_H127 ].
% 47.33/47.57  cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0)))) = ((op (e1) (e3)) = (op (e1) (op (e3) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H129.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H126.
% 47.33/47.57  cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H127].
% 47.33/47.57  cut (((op (e1) (op (e3) (e0))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H12a].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_H78 zenon_H71).
% 47.33/47.57  apply zenon_H127. apply refl_equal.
% 47.33/47.57  apply zenon_H127. apply refl_equal.
% 47.33/47.57  apply zenon_H25. apply refl_equal.
% 47.33/47.57  apply zenon_H127. apply refl_equal.
% 47.33/47.57  apply zenon_H127. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L43_ *)
% 47.33/47.57  assert (zenon_L44_ : ((op (e1) (e5)) = (e3)) -> ((op (e3) (e1)) = (e5)) -> (~((e3) = (op (e1) (op (e3) (e1))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H39 zenon_H79 zenon_H12b.
% 47.33/47.57  elim (classic ((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [ zenon_intro zenon_H12c | zenon_intro zenon_H12d ].
% 47.33/47.57  cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1)))) = ((e3) = (op (e1) (op (e3) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H12b.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H12c.
% 47.33/47.57  cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H12d].
% 47.33/47.57  cut (((op (e1) (op (e3) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H12e].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e5)) = (e3)) = ((op (e1) (op (e3) (e1))) = (e3))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H12e.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H39.
% 47.33/47.57  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.33/47.57  cut (((op (e1) (e5)) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H12f].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [ zenon_intro zenon_H12c | zenon_intro zenon_H12d ].
% 47.33/47.57  cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1)))) = ((op (e1) (e5)) = (op (e1) (op (e3) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H12f.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H12c.
% 47.33/47.57  cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H12d].
% 47.33/47.57  cut (((op (e1) (op (e3) (e1))) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H130].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_H80 zenon_H79).
% 47.33/47.57  apply zenon_H12d. apply refl_equal.
% 47.33/47.57  apply zenon_H12d. apply refl_equal.
% 47.33/47.57  apply zenon_H24. apply refl_equal.
% 47.33/47.57  apply zenon_H12d. apply refl_equal.
% 47.33/47.57  apply zenon_H12d. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L44_ *)
% 47.33/47.57  assert (zenon_L45_ : ((op (e1) (e0)) = (e1)) -> ((op (e3) (e2)) = (e0)) -> (~((e1) = (op (e1) (op (e3) (e2))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H8 zenon_H81 zenon_H131.
% 47.33/47.57  elim (classic ((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [ zenon_intro zenon_H132 | zenon_intro zenon_H133 ].
% 47.33/47.57  cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2)))) = ((e1) = (op (e1) (op (e3) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H131.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H132.
% 47.33/47.57  cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H133].
% 47.33/47.57  cut (((op (e1) (op (e3) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H134].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e3) (e2))) = (e1))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H134.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H8.
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  cut (((op (e1) (e0)) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H135].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [ zenon_intro zenon_H132 | zenon_intro zenon_H133 ].
% 47.33/47.57  cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2)))) = ((op (e1) (e0)) = (op (e1) (op (e3) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H135.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H132.
% 47.33/47.57  cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H133].
% 47.33/47.57  cut (((op (e1) (op (e3) (e2))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H136].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_H88 zenon_H81).
% 47.33/47.57  apply zenon_H133. apply refl_equal.
% 47.33/47.57  apply zenon_H133. apply refl_equal.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  apply zenon_H133. apply refl_equal.
% 47.33/47.57  apply zenon_H133. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L45_ *)
% 47.33/47.57  assert (zenon_L46_ : ((op (e1) (e2)) = (e4)) -> ((op (e3) (e3)) = (e2)) -> (~((e4) = (op (e1) (op (e3) (e3))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H1c zenon_H89 zenon_H137.
% 47.33/47.57  elim (classic ((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [ zenon_intro zenon_H138 | zenon_intro zenon_H139 ].
% 47.33/47.57  cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3)))) = ((e4) = (op (e1) (op (e3) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H137.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H138.
% 47.33/47.57  cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H139].
% 47.33/47.57  cut (((op (e1) (op (e3) (e3))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H13a].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e2)) = (e4)) = ((op (e1) (op (e3) (e3))) = (e4))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H13a.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H1c.
% 47.33/47.57  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.33/47.57  cut (((op (e1) (e2)) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H13b].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [ zenon_intro zenon_H138 | zenon_intro zenon_H139 ].
% 47.33/47.57  cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3)))) = ((op (e1) (e2)) = (op (e1) (op (e3) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H13b.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H138.
% 47.33/47.57  cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H139].
% 47.33/47.57  cut (((op (e1) (op (e3) (e3))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H13c].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_H90 zenon_H89).
% 47.33/47.57  apply zenon_H139. apply refl_equal.
% 47.33/47.57  apply zenon_H139. apply refl_equal.
% 47.33/47.57  apply zenon_H1a. apply refl_equal.
% 47.33/47.57  apply zenon_H139. apply refl_equal.
% 47.33/47.57  apply zenon_H139. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L46_ *)
% 47.33/47.57  assert (zenon_L47_ : ((op (e1) (e1)) = (e0)) -> ((op (e3) (e4)) = (e1)) -> (~((e0) = (op (e1) (op (e3) (e4))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H11 zenon_H91 zenon_H13d.
% 47.33/47.57  elim (classic ((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4))))); [ zenon_intro zenon_H13e | zenon_intro zenon_H13f ].
% 47.33/47.57  cut (((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4)))) = ((e0) = (op (e1) (op (e3) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H13d.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H13e.
% 47.33/47.57  cut (((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H13f].
% 47.33/47.57  cut (((op (e1) (op (e3) (e4))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H140].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e1)) = (e0)) = ((op (e1) (op (e3) (e4))) = (e0))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H140.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H11.
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  cut (((op (e1) (e1)) = (op (e1) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H141].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4))))); [ zenon_intro zenon_H13e | zenon_intro zenon_H13f ].
% 47.33/47.57  cut (((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4)))) = ((op (e1) (e1)) = (op (e1) (op (e3) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H141.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H13e.
% 47.33/47.57  cut (((op (e1) (op (e3) (e4))) = (op (e1) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H13f].
% 47.33/47.57  cut (((op (e1) (op (e3) (e4))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H142].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_H98 zenon_H91).
% 47.33/47.57  apply zenon_H13f. apply refl_equal.
% 47.33/47.57  apply zenon_H13f. apply refl_equal.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  apply zenon_H13f. apply refl_equal.
% 47.33/47.57  apply zenon_H13f. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L47_ *)
% 47.33/47.57  assert (zenon_L48_ : ((op (e1) (e4)) = (e2)) -> ((op (e3) (e5)) = (e4)) -> (~((e2) = (op (e1) (op (e3) (e5))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H30 zenon_H99 zenon_H143.
% 47.33/47.57  elim (classic ((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5))))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 47.33/47.57  cut (((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5)))) = ((e2) = (op (e1) (op (e3) (e5))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H143.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H144.
% 47.33/47.57  cut (((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H145].
% 47.33/47.57  cut (((op (e1) (op (e3) (e5))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H146].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e4)) = (e2)) = ((op (e1) (op (e3) (e5))) = (e2))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H146.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H30.
% 47.33/47.57  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.57  cut (((op (e1) (e4)) = (op (e1) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H147].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5))))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 47.33/47.57  cut (((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5)))) = ((op (e1) (e4)) = (op (e1) (op (e3) (e5))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H147.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H144.
% 47.33/47.57  cut (((op (e1) (op (e3) (e5))) = (op (e1) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H145].
% 47.33/47.57  cut (((op (e1) (op (e3) (e5))) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H148].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_Ha0 zenon_H99).
% 47.33/47.57  apply zenon_H145. apply refl_equal.
% 47.33/47.57  apply zenon_H145. apply refl_equal.
% 47.33/47.57  apply zenon_H19. apply refl_equal.
% 47.33/47.57  apply zenon_H145. apply refl_equal.
% 47.33/47.57  apply zenon_H145. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L48_ *)
% 47.33/47.57  assert (zenon_L49_ : ((op (e1) (e4)) = (e2)) -> ((op (e4) (e0)) = (e4)) -> (~((e2) = (op (e1) (op (e4) (e0))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H30 zenon_Ha1 zenon_H149.
% 47.33/47.57  elim (classic ((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0))))); [ zenon_intro zenon_H14a | zenon_intro zenon_H14b ].
% 47.33/47.57  cut (((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0)))) = ((e2) = (op (e1) (op (e4) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H149.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H14a.
% 47.33/47.57  cut (((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H14b].
% 47.33/47.57  cut (((op (e1) (op (e4) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H14c].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e4)) = (e2)) = ((op (e1) (op (e4) (e0))) = (e2))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H14c.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H30.
% 47.33/47.57  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.57  cut (((op (e1) (e4)) = (op (e1) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H14d].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0))))); [ zenon_intro zenon_H14a | zenon_intro zenon_H14b ].
% 47.33/47.57  cut (((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0)))) = ((op (e1) (e4)) = (op (e1) (op (e4) (e0))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H14d.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H14a.
% 47.33/47.57  cut (((op (e1) (op (e4) (e0))) = (op (e1) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H14b].
% 47.33/47.57  cut (((op (e1) (op (e4) (e0))) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H14e].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_Ha8 zenon_Ha1).
% 47.33/47.57  apply zenon_H14b. apply refl_equal.
% 47.33/47.57  apply zenon_H14b. apply refl_equal.
% 47.33/47.57  apply zenon_H19. apply refl_equal.
% 47.33/47.57  apply zenon_H14b. apply refl_equal.
% 47.33/47.57  apply zenon_H14b. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L49_ *)
% 47.33/47.57  assert (zenon_L50_ : ((op (e1) (e2)) = (e4)) -> ((op (e4) (e1)) = (e2)) -> (~((e4) = (op (e1) (op (e4) (e1))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H1c zenon_Ha9 zenon_H14f.
% 47.33/47.57  elim (classic ((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1))))); [ zenon_intro zenon_H150 | zenon_intro zenon_H151 ].
% 47.33/47.57  cut (((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1)))) = ((e4) = (op (e1) (op (e4) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H14f.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H150.
% 47.33/47.57  cut (((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H151].
% 47.33/47.57  cut (((op (e1) (op (e4) (e1))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H152].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e2)) = (e4)) = ((op (e1) (op (e4) (e1))) = (e4))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H152.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H1c.
% 47.33/47.57  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.33/47.57  cut (((op (e1) (e2)) = (op (e1) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H153].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1))))); [ zenon_intro zenon_H150 | zenon_intro zenon_H151 ].
% 47.33/47.57  cut (((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1)))) = ((op (e1) (e2)) = (op (e1) (op (e4) (e1))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H153.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H150.
% 47.33/47.57  cut (((op (e1) (op (e4) (e1))) = (op (e1) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H151].
% 47.33/47.57  cut (((op (e1) (op (e4) (e1))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H154].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_Hb0 zenon_Ha9).
% 47.33/47.57  apply zenon_H151. apply refl_equal.
% 47.33/47.57  apply zenon_H151. apply refl_equal.
% 47.33/47.57  apply zenon_H1a. apply refl_equal.
% 47.33/47.57  apply zenon_H151. apply refl_equal.
% 47.33/47.57  apply zenon_H151. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L50_ *)
% 47.33/47.57  assert (zenon_L51_ : ((op (e1) (e5)) = (e3)) -> ((op (e4) (e2)) = (e5)) -> (~((e3) = (op (e1) (op (e4) (e2))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H39 zenon_Hb1 zenon_H155.
% 47.33/47.57  elim (classic ((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2))))); [ zenon_intro zenon_H156 | zenon_intro zenon_H157 ].
% 47.33/47.57  cut (((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2)))) = ((e3) = (op (e1) (op (e4) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H155.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H156.
% 47.33/47.57  cut (((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H157].
% 47.33/47.57  cut (((op (e1) (op (e4) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H158].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e5)) = (e3)) = ((op (e1) (op (e4) (e2))) = (e3))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H158.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H39.
% 47.33/47.57  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.33/47.57  cut (((op (e1) (e5)) = (op (e1) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H159].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2))))); [ zenon_intro zenon_H156 | zenon_intro zenon_H157 ].
% 47.33/47.57  cut (((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2)))) = ((op (e1) (e5)) = (op (e1) (op (e4) (e2))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H159.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H156.
% 47.33/47.57  cut (((op (e1) (op (e4) (e2))) = (op (e1) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H157].
% 47.33/47.57  cut (((op (e1) (op (e4) (e2))) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H15a].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_Hb8 zenon_Hb1).
% 47.33/47.57  apply zenon_H157. apply refl_equal.
% 47.33/47.57  apply zenon_H157. apply refl_equal.
% 47.33/47.57  apply zenon_H24. apply refl_equal.
% 47.33/47.57  apply zenon_H157. apply refl_equal.
% 47.33/47.57  apply zenon_H157. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L51_ *)
% 47.33/47.57  assert (zenon_L52_ : ((op (e1) (e1)) = (e0)) -> ((op (e4) (e3)) = (e1)) -> (~((e0) = (op (e1) (op (e4) (e3))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H11 zenon_Hb9 zenon_H15b.
% 47.33/47.57  elim (classic ((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3))))); [ zenon_intro zenon_H15c | zenon_intro zenon_H15d ].
% 47.33/47.57  cut (((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3)))) = ((e0) = (op (e1) (op (e4) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H15b.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H15c.
% 47.33/47.57  cut (((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H15d].
% 47.33/47.57  cut (((op (e1) (op (e4) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H15e].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e1)) = (e0)) = ((op (e1) (op (e4) (e3))) = (e0))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H15e.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H11.
% 47.33/47.57  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.57  cut (((op (e1) (e1)) = (op (e1) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H15f].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3))))); [ zenon_intro zenon_H15c | zenon_intro zenon_H15d ].
% 47.33/47.57  cut (((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3)))) = ((op (e1) (e1)) = (op (e1) (op (e4) (e3))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H15f.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H15c.
% 47.33/47.57  cut (((op (e1) (op (e4) (e3))) = (op (e1) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H15d].
% 47.33/47.57  cut (((op (e1) (op (e4) (e3))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H160].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_Hc0 zenon_Hb9).
% 47.33/47.57  apply zenon_H15d. apply refl_equal.
% 47.33/47.57  apply zenon_H15d. apply refl_equal.
% 47.33/47.57  apply zenon_H5. apply refl_equal.
% 47.33/47.57  apply zenon_H15d. apply refl_equal.
% 47.33/47.57  apply zenon_H15d. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L52_ *)
% 47.33/47.57  assert (zenon_L53_ : ((op (e1) (e3)) = (e5)) -> ((op (e4) (e4)) = (e3)) -> (~((e5) = (op (e1) (op (e4) (e4))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H27 zenon_Hc1 zenon_H161.
% 47.33/47.57  elim (classic ((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4))))); [ zenon_intro zenon_H162 | zenon_intro zenon_H163 ].
% 47.33/47.57  cut (((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4)))) = ((e5) = (op (e1) (op (e4) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H161.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H162.
% 47.33/47.57  cut (((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H163].
% 47.33/47.57  cut (((op (e1) (op (e4) (e4))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H164].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e3)) = (e5)) = ((op (e1) (op (e4) (e4))) = (e5))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H164.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H27.
% 47.33/47.57  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.33/47.57  cut (((op (e1) (e3)) = (op (e1) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H165].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4))))); [ zenon_intro zenon_H162 | zenon_intro zenon_H163 ].
% 47.33/47.57  cut (((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4)))) = ((op (e1) (e3)) = (op (e1) (op (e4) (e4))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H165.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H162.
% 47.33/47.57  cut (((op (e1) (op (e4) (e4))) = (op (e1) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H163].
% 47.33/47.57  cut (((op (e1) (op (e4) (e4))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H166].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8].
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  congruence.
% 47.33/47.57  apply zenon_H6. apply refl_equal.
% 47.33/47.57  exact (zenon_Hc8 zenon_Hc1).
% 47.33/47.57  apply zenon_H163. apply refl_equal.
% 47.33/47.57  apply zenon_H163. apply refl_equal.
% 47.33/47.57  apply zenon_H25. apply refl_equal.
% 47.33/47.57  apply zenon_H163. apply refl_equal.
% 47.33/47.57  apply zenon_H163. apply refl_equal.
% 47.33/47.57  (* end of lemma zenon_L53_ *)
% 47.33/47.57  assert (zenon_L54_ : ((op (e1) (e0)) = (e1)) -> ((op (e4) (e5)) = (e0)) -> (~((e1) = (op (e1) (op (e4) (e5))))) -> False).
% 47.33/47.57  do 0 intro. intros zenon_H8 zenon_Hc9 zenon_H167.
% 47.33/47.57  elim (classic ((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5))))); [ zenon_intro zenon_H168 | zenon_intro zenon_H169 ].
% 47.33/47.57  cut (((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5)))) = ((e1) = (op (e1) (op (e4) (e5))))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H167.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H168.
% 47.33/47.57  cut (((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H169].
% 47.33/47.57  cut (((op (e1) (op (e4) (e5))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H16a].
% 47.33/47.57  congruence.
% 47.33/47.57  cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e4) (e5))) = (e1))).
% 47.33/47.57  intro zenon_D_pnotp.
% 47.33/47.57  apply zenon_H16a.
% 47.33/47.57  rewrite <- zenon_D_pnotp.
% 47.33/47.57  exact zenon_H8.
% 47.33/47.57  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.57  cut (((op (e1) (e0)) = (op (e1) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H16b].
% 47.33/47.57  congruence.
% 47.33/47.57  elim (classic ((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5))))); [ zenon_intro zenon_H168 | zenon_intro zenon_H169 ].
% 47.33/47.58  cut (((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5)))) = ((op (e1) (e0)) = (op (e1) (op (e4) (e5))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H16b.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H168.
% 47.33/47.58  cut (((op (e1) (op (e4) (e5))) = (op (e1) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H169].
% 47.33/47.58  cut (((op (e1) (op (e4) (e5))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H16c].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 47.33/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.58  congruence.
% 47.33/47.58  apply zenon_H6. apply refl_equal.
% 47.33/47.58  exact (zenon_Hd0 zenon_Hc9).
% 47.33/47.58  apply zenon_H169. apply refl_equal.
% 47.33/47.58  apply zenon_H169. apply refl_equal.
% 47.33/47.58  apply zenon_H6. apply refl_equal.
% 47.33/47.58  apply zenon_H169. apply refl_equal.
% 47.33/47.58  apply zenon_H169. apply refl_equal.
% 47.33/47.58  (* end of lemma zenon_L54_ *)
% 47.33/47.58  assert (zenon_L55_ : ((op (e1) (e5)) = (e3)) -> ((op (e5) (e0)) = (e5)) -> (~((e3) = (op (e1) (op (e5) (e0))))) -> False).
% 47.33/47.58  do 0 intro. intros zenon_H39 zenon_Hd1 zenon_H16d.
% 47.33/47.58  elim (classic ((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0))))); [ zenon_intro zenon_H16e | zenon_intro zenon_H16f ].
% 47.33/47.58  cut (((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0)))) = ((e3) = (op (e1) (op (e5) (e0))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H16d.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H16e.
% 47.33/47.58  cut (((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H16f].
% 47.33/47.58  cut (((op (e1) (op (e5) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H170].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e1) (e5)) = (e3)) = ((op (e1) (op (e5) (e0))) = (e3))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H170.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H39.
% 47.33/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.33/47.58  cut (((op (e1) (e5)) = (op (e1) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H171].
% 47.33/47.58  congruence.
% 47.33/47.58  elim (classic ((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0))))); [ zenon_intro zenon_H16e | zenon_intro zenon_H16f ].
% 47.33/47.58  cut (((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0)))) = ((op (e1) (e5)) = (op (e1) (op (e5) (e0))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H171.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H16e.
% 47.33/47.58  cut (((op (e1) (op (e5) (e0))) = (op (e1) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H16f].
% 47.33/47.58  cut (((op (e1) (op (e5) (e0))) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H172].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 47.33/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.58  congruence.
% 47.33/47.58  apply zenon_H6. apply refl_equal.
% 47.33/47.58  exact (zenon_Hd8 zenon_Hd1).
% 47.33/47.58  apply zenon_H16f. apply refl_equal.
% 47.33/47.58  apply zenon_H16f. apply refl_equal.
% 47.33/47.58  apply zenon_H24. apply refl_equal.
% 47.33/47.58  apply zenon_H16f. apply refl_equal.
% 47.33/47.58  apply zenon_H16f. apply refl_equal.
% 47.33/47.58  (* end of lemma zenon_L55_ *)
% 47.33/47.58  assert (zenon_L56_ : ((op (e1) (e3)) = (e5)) -> ((op (e5) (e1)) = (e3)) -> (~((e5) = (op (e1) (op (e5) (e1))))) -> False).
% 47.33/47.58  do 0 intro. intros zenon_H27 zenon_Hd9 zenon_H173.
% 47.33/47.58  elim (classic ((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1))))); [ zenon_intro zenon_H174 | zenon_intro zenon_H175 ].
% 47.33/47.58  cut (((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1)))) = ((e5) = (op (e1) (op (e5) (e1))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H173.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H174.
% 47.33/47.58  cut (((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H175].
% 47.33/47.58  cut (((op (e1) (op (e5) (e1))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H176].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e1) (e3)) = (e5)) = ((op (e1) (op (e5) (e1))) = (e5))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H176.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H27.
% 47.33/47.58  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.33/47.58  cut (((op (e1) (e3)) = (op (e1) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H177].
% 47.33/47.58  congruence.
% 47.33/47.58  elim (classic ((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1))))); [ zenon_intro zenon_H174 | zenon_intro zenon_H175 ].
% 47.33/47.58  cut (((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1)))) = ((op (e1) (e3)) = (op (e1) (op (e5) (e1))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H177.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H174.
% 47.33/47.58  cut (((op (e1) (op (e5) (e1))) = (op (e1) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H175].
% 47.33/47.58  cut (((op (e1) (op (e5) (e1))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H178].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 47.33/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.58  congruence.
% 47.33/47.58  apply zenon_H6. apply refl_equal.
% 47.33/47.58  exact (zenon_He0 zenon_Hd9).
% 47.33/47.58  apply zenon_H175. apply refl_equal.
% 47.33/47.58  apply zenon_H175. apply refl_equal.
% 47.33/47.58  apply zenon_H25. apply refl_equal.
% 47.33/47.58  apply zenon_H175. apply refl_equal.
% 47.33/47.58  apply zenon_H175. apply refl_equal.
% 47.33/47.58  (* end of lemma zenon_L56_ *)
% 47.33/47.58  assert (zenon_L57_ : ((op (e1) (e1)) = (e0)) -> ((op (e5) (e2)) = (e1)) -> (~((e0) = (op (e1) (op (e5) (e2))))) -> False).
% 47.33/47.58  do 0 intro. intros zenon_H11 zenon_He1 zenon_H179.
% 47.33/47.58  elim (classic ((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2))))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17b ].
% 47.33/47.58  cut (((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2)))) = ((e0) = (op (e1) (op (e5) (e2))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H179.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H17a.
% 47.33/47.58  cut (((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H17b].
% 47.33/47.58  cut (((op (e1) (op (e5) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H17c].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e1) (e1)) = (e0)) = ((op (e1) (op (e5) (e2))) = (e0))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H17c.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H11.
% 47.33/47.58  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.58  cut (((op (e1) (e1)) = (op (e1) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H17d].
% 47.33/47.58  congruence.
% 47.33/47.58  elim (classic ((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2))))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17b ].
% 47.33/47.58  cut (((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2)))) = ((op (e1) (e1)) = (op (e1) (op (e5) (e2))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H17d.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H17a.
% 47.33/47.58  cut (((op (e1) (op (e5) (e2))) = (op (e1) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H17b].
% 47.33/47.58  cut (((op (e1) (op (e5) (e2))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H17e].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8].
% 47.33/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.58  congruence.
% 47.33/47.58  apply zenon_H6. apply refl_equal.
% 47.33/47.58  exact (zenon_He8 zenon_He1).
% 47.33/47.58  apply zenon_H17b. apply refl_equal.
% 47.33/47.58  apply zenon_H17b. apply refl_equal.
% 47.33/47.58  apply zenon_H5. apply refl_equal.
% 47.33/47.58  apply zenon_H17b. apply refl_equal.
% 47.33/47.58  apply zenon_H17b. apply refl_equal.
% 47.33/47.58  (* end of lemma zenon_L57_ *)
% 47.33/47.58  assert (zenon_L58_ : ((op (e1) (e4)) = (e2)) -> ((op (e5) (e3)) = (e4)) -> (~((e2) = (op (e1) (op (e5) (e3))))) -> False).
% 47.33/47.58  do 0 intro. intros zenon_H30 zenon_He9 zenon_H17f.
% 47.33/47.58  elim (classic ((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3))))); [ zenon_intro zenon_H180 | zenon_intro zenon_H181 ].
% 47.33/47.58  cut (((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3)))) = ((e2) = (op (e1) (op (e5) (e3))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H17f.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H180.
% 47.33/47.58  cut (((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H181].
% 47.33/47.58  cut (((op (e1) (op (e5) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H182].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e1) (e4)) = (e2)) = ((op (e1) (op (e5) (e3))) = (e2))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H182.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H30.
% 47.33/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.58  cut (((op (e1) (e4)) = (op (e1) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H183].
% 47.33/47.58  congruence.
% 47.33/47.58  elim (classic ((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3))))); [ zenon_intro zenon_H180 | zenon_intro zenon_H181 ].
% 47.33/47.58  cut (((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3)))) = ((op (e1) (e4)) = (op (e1) (op (e5) (e3))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H183.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H180.
% 47.33/47.58  cut (((op (e1) (op (e5) (e3))) = (op (e1) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H181].
% 47.33/47.58  cut (((op (e1) (op (e5) (e3))) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H184].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 47.33/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.58  congruence.
% 47.33/47.58  apply zenon_H6. apply refl_equal.
% 47.33/47.58  exact (zenon_Hf0 zenon_He9).
% 47.33/47.58  apply zenon_H181. apply refl_equal.
% 47.33/47.58  apply zenon_H181. apply refl_equal.
% 47.33/47.58  apply zenon_H19. apply refl_equal.
% 47.33/47.58  apply zenon_H181. apply refl_equal.
% 47.33/47.58  apply zenon_H181. apply refl_equal.
% 47.33/47.58  (* end of lemma zenon_L58_ *)
% 47.33/47.58  assert (zenon_L59_ : ((op (e1) (e0)) = (e1)) -> ((op (e5) (e4)) = (e0)) -> (~((e1) = (op (e1) (op (e5) (e4))))) -> False).
% 47.33/47.58  do 0 intro. intros zenon_H8 zenon_Hf1 zenon_H185.
% 47.33/47.58  elim (classic ((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4))))); [ zenon_intro zenon_H186 | zenon_intro zenon_H187 ].
% 47.33/47.58  cut (((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4)))) = ((e1) = (op (e1) (op (e5) (e4))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H185.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H186.
% 47.33/47.58  cut (((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H187].
% 47.33/47.58  cut (((op (e1) (op (e5) (e4))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H188].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e5) (e4))) = (e1))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H188.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H8.
% 47.33/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.58  cut (((op (e1) (e0)) = (op (e1) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H189].
% 47.33/47.58  congruence.
% 47.33/47.58  elim (classic ((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4))))); [ zenon_intro zenon_H186 | zenon_intro zenon_H187 ].
% 47.33/47.58  cut (((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4)))) = ((op (e1) (e0)) = (op (e1) (op (e5) (e4))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H189.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H186.
% 47.33/47.58  cut (((op (e1) (op (e5) (e4))) = (op (e1) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H187].
% 47.33/47.58  cut (((op (e1) (op (e5) (e4))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H18a].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8].
% 47.33/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.58  congruence.
% 47.33/47.58  apply zenon_H6. apply refl_equal.
% 47.33/47.58  exact (zenon_Hf8 zenon_Hf1).
% 47.33/47.58  apply zenon_H187. apply refl_equal.
% 47.33/47.58  apply zenon_H187. apply refl_equal.
% 47.33/47.58  apply zenon_H6. apply refl_equal.
% 47.33/47.58  apply zenon_H187. apply refl_equal.
% 47.33/47.58  apply zenon_H187. apply refl_equal.
% 47.33/47.58  (* end of lemma zenon_L59_ *)
% 47.33/47.58  assert (zenon_L60_ : ((op (e1) (e2)) = (e4)) -> ((op (e5) (e5)) = (e2)) -> (~((e4) = (op (e1) (op (e5) (e5))))) -> False).
% 47.33/47.58  do 0 intro. intros zenon_H1c zenon_Hf9 zenon_H18b.
% 47.33/47.58  elim (classic ((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5))))); [ zenon_intro zenon_H18c | zenon_intro zenon_H18d ].
% 47.33/47.58  cut (((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5)))) = ((e4) = (op (e1) (op (e5) (e5))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H18b.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H18c.
% 47.33/47.58  cut (((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H18d].
% 47.33/47.58  cut (((op (e1) (op (e5) (e5))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H18e].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e1) (e2)) = (e4)) = ((op (e1) (op (e5) (e5))) = (e4))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H18e.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H1c.
% 47.33/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.33/47.58  cut (((op (e1) (e2)) = (op (e1) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H18f].
% 47.33/47.58  congruence.
% 47.33/47.58  elim (classic ((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5))))); [ zenon_intro zenon_H18c | zenon_intro zenon_H18d ].
% 47.33/47.58  cut (((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5)))) = ((op (e1) (e2)) = (op (e1) (op (e5) (e5))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H18f.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H18c.
% 47.33/47.58  cut (((op (e1) (op (e5) (e5))) = (op (e1) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H18d].
% 47.33/47.58  cut (((op (e1) (op (e5) (e5))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H190].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 47.33/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.58  congruence.
% 47.33/47.58  apply zenon_H6. apply refl_equal.
% 47.33/47.58  exact (zenon_H100 zenon_Hf9).
% 47.33/47.58  apply zenon_H18d. apply refl_equal.
% 47.33/47.58  apply zenon_H18d. apply refl_equal.
% 47.33/47.58  apply zenon_H1a. apply refl_equal.
% 47.33/47.58  apply zenon_H18d. apply refl_equal.
% 47.33/47.58  apply zenon_H18d. apply refl_equal.
% 47.33/47.58  (* end of lemma zenon_L60_ *)
% 47.33/47.58  assert (zenon_L61_ : ((op (e2) (e1)) = (e4)) -> ((op (e1) (e0)) = (e1)) -> (~((e4) = (op (e2) (op (e1) (e0))))) -> False).
% 47.33/47.58  do 0 intro. intros zenon_H49 zenon_H8 zenon_H191.
% 47.33/47.58  elim (classic ((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [ zenon_intro zenon_H192 | zenon_intro zenon_H193 ].
% 47.33/47.58  cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0)))) = ((e4) = (op (e2) (op (e1) (e0))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H191.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H192.
% 47.33/47.58  cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H193].
% 47.33/47.58  cut (((op (e2) (op (e1) (e0))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H194].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e2) (e1)) = (e4)) = ((op (e2) (op (e1) (e0))) = (e4))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H194.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H49.
% 47.33/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.33/47.58  cut (((op (e2) (e1)) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H195].
% 47.33/47.58  congruence.
% 47.33/47.58  elim (classic ((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [ zenon_intro zenon_H192 | zenon_intro zenon_H193 ].
% 47.33/47.58  cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0)))) = ((op (e2) (e1)) = (op (e2) (op (e1) (e0))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H195.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H192.
% 47.33/47.58  cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H193].
% 47.33/47.58  cut (((op (e2) (op (e1) (e0))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H196].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 47.33/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.58  congruence.
% 47.33/47.58  apply zenon_H19. apply refl_equal.
% 47.33/47.58  exact (zenon_Hf zenon_H8).
% 47.33/47.58  apply zenon_H193. apply refl_equal.
% 47.33/47.58  apply zenon_H193. apply refl_equal.
% 47.33/47.58  apply zenon_H1a. apply refl_equal.
% 47.33/47.58  apply zenon_H193. apply refl_equal.
% 47.33/47.58  apply zenon_H193. apply refl_equal.
% 47.33/47.58  (* end of lemma zenon_L61_ *)
% 47.33/47.58  assert (zenon_L62_ : ((op (e2) (e0)) = (e2)) -> ((op (e1) (e1)) = (e0)) -> (~((e2) = (op (e2) (op (e1) (e1))))) -> False).
% 47.33/47.58  do 0 intro. intros zenon_H41 zenon_H11 zenon_H197.
% 47.33/47.58  elim (classic ((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [ zenon_intro zenon_H198 | zenon_intro zenon_H199 ].
% 47.33/47.58  cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1)))) = ((e2) = (op (e2) (op (e1) (e1))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H197.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H198.
% 47.33/47.58  cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H199].
% 47.33/47.58  cut (((op (e2) (op (e1) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19a].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e1) (e1))) = (e2))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H19a.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H41.
% 47.33/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.58  cut (((op (e2) (e0)) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H19b].
% 47.33/47.58  congruence.
% 47.33/47.58  elim (classic ((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [ zenon_intro zenon_H198 | zenon_intro zenon_H199 ].
% 47.33/47.58  cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1)))) = ((op (e2) (e0)) = (op (e2) (op (e1) (e1))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H19b.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H198.
% 47.33/47.58  cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H199].
% 47.33/47.58  cut (((op (e2) (op (e1) (e1))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H19c].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 47.33/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.58  congruence.
% 47.33/47.58  apply zenon_H19. apply refl_equal.
% 47.33/47.58  exact (zenon_H18 zenon_H11).
% 47.33/47.58  apply zenon_H199. apply refl_equal.
% 47.33/47.58  apply zenon_H199. apply refl_equal.
% 47.33/47.58  apply zenon_H19. apply refl_equal.
% 47.33/47.58  apply zenon_H199. apply refl_equal.
% 47.33/47.58  apply zenon_H199. apply refl_equal.
% 47.33/47.58  (* end of lemma zenon_L62_ *)
% 47.33/47.58  assert (zenon_L63_ : ((op (e2) (e4)) = (e5)) -> ((op (e1) (e2)) = (e4)) -> (~((e5) = (op (e2) (op (e1) (e2))))) -> False).
% 47.33/47.58  do 0 intro. intros zenon_H61 zenon_H1c zenon_H19d.
% 47.33/47.58  elim (classic ((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [ zenon_intro zenon_H19e | zenon_intro zenon_H19f ].
% 47.33/47.58  cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2)))) = ((e5) = (op (e2) (op (e1) (e2))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H19d.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H19e.
% 47.33/47.58  cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H19f].
% 47.33/47.58  cut (((op (e2) (op (e1) (e2))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H1a0].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e2) (e4)) = (e5)) = ((op (e2) (op (e1) (e2))) = (e5))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1a0.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H61.
% 47.33/47.58  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.33/47.58  cut (((op (e2) (e4)) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1a1].
% 47.33/47.58  congruence.
% 47.33/47.58  elim (classic ((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [ zenon_intro zenon_H19e | zenon_intro zenon_H19f ].
% 47.33/47.58  cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2)))) = ((op (e2) (e4)) = (op (e2) (op (e1) (e2))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1a1.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H19e.
% 47.33/47.58  cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H19f].
% 47.33/47.58  cut (((op (e2) (op (e1) (e2))) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1a2].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 47.33/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.58  congruence.
% 47.33/47.58  apply zenon_H19. apply refl_equal.
% 47.33/47.58  exact (zenon_H23 zenon_H1c).
% 47.33/47.58  apply zenon_H19f. apply refl_equal.
% 47.33/47.58  apply zenon_H19f. apply refl_equal.
% 47.33/47.58  apply zenon_H25. apply refl_equal.
% 47.33/47.58  apply zenon_H19f. apply refl_equal.
% 47.33/47.58  apply zenon_H19f. apply refl_equal.
% 47.33/47.58  (* end of lemma zenon_L63_ *)
% 47.33/47.58  assert (zenon_L64_ : ((op (e2) (e5)) = (e1)) -> ((op (e1) (e3)) = (e5)) -> (~((e1) = (op (e2) (op (e1) (e3))))) -> False).
% 47.33/47.58  do 0 intro. intros zenon_H69 zenon_H27 zenon_H1a3.
% 47.33/47.58  elim (classic ((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [ zenon_intro zenon_H1a4 | zenon_intro zenon_H1a5 ].
% 47.33/47.58  cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3)))) = ((e1) = (op (e2) (op (e1) (e3))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1a3.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H1a4.
% 47.33/47.58  cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1a5].
% 47.33/47.58  cut (((op (e2) (op (e1) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H1a6].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e2) (e5)) = (e1)) = ((op (e2) (op (e1) (e3))) = (e1))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1a6.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H69.
% 47.33/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.33/47.58  cut (((op (e2) (e5)) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1a7].
% 47.33/47.58  congruence.
% 47.33/47.58  elim (classic ((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [ zenon_intro zenon_H1a4 | zenon_intro zenon_H1a5 ].
% 47.33/47.58  cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3)))) = ((op (e2) (e5)) = (op (e2) (op (e1) (e3))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1a7.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H1a4.
% 47.33/47.58  cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1a5].
% 47.33/47.58  cut (((op (e2) (op (e1) (e3))) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H1a8].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 47.33/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.58  congruence.
% 47.33/47.58  apply zenon_H19. apply refl_equal.
% 47.33/47.58  exact (zenon_H2e zenon_H27).
% 47.33/47.58  apply zenon_H1a5. apply refl_equal.
% 47.33/47.58  apply zenon_H1a5. apply refl_equal.
% 47.33/47.58  apply zenon_H6. apply refl_equal.
% 47.33/47.58  apply zenon_H1a5. apply refl_equal.
% 47.33/47.58  apply zenon_H1a5. apply refl_equal.
% 47.33/47.58  (* end of lemma zenon_L64_ *)
% 47.33/47.58  assert (zenon_L65_ : ((op (e2) (e2)) = (e3)) -> ((op (e1) (e4)) = (e2)) -> (~((e3) = (op (e2) (op (e1) (e4))))) -> False).
% 47.33/47.58  do 0 intro. intros zenon_H51 zenon_H30 zenon_H1a9.
% 47.33/47.58  elim (classic ((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4))))); [ zenon_intro zenon_H1aa | zenon_intro zenon_H1ab ].
% 47.33/47.58  cut (((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4)))) = ((e3) = (op (e2) (op (e1) (e4))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1a9.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H1aa.
% 47.33/47.58  cut (((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1ab].
% 47.33/47.58  cut (((op (e2) (op (e1) (e4))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1ac].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e2) (e2)) = (e3)) = ((op (e2) (op (e1) (e4))) = (e3))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1ac.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H51.
% 47.33/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.33/47.58  cut (((op (e2) (e2)) = (op (e2) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1ad].
% 47.33/47.58  congruence.
% 47.33/47.58  elim (classic ((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4))))); [ zenon_intro zenon_H1aa | zenon_intro zenon_H1ab ].
% 47.33/47.58  cut (((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4)))) = ((op (e2) (e2)) = (op (e2) (op (e1) (e4))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1ad.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H1aa.
% 47.33/47.58  cut (((op (e2) (op (e1) (e4))) = (op (e2) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1ab].
% 47.33/47.58  cut (((op (e2) (op (e1) (e4))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1ae].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 47.33/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.58  congruence.
% 47.33/47.58  apply zenon_H19. apply refl_equal.
% 47.33/47.58  exact (zenon_H37 zenon_H30).
% 47.33/47.58  apply zenon_H1ab. apply refl_equal.
% 47.33/47.58  apply zenon_H1ab. apply refl_equal.
% 47.33/47.58  apply zenon_H24. apply refl_equal.
% 47.33/47.58  apply zenon_H1ab. apply refl_equal.
% 47.33/47.58  apply zenon_H1ab. apply refl_equal.
% 47.33/47.58  (* end of lemma zenon_L65_ *)
% 47.33/47.58  assert (zenon_L66_ : ((op (e2) (e3)) = (e0)) -> ((op (e1) (e5)) = (e3)) -> (~((e0) = (op (e2) (op (e1) (e5))))) -> False).
% 47.33/47.58  do 0 intro. intros zenon_H59 zenon_H39 zenon_H1af.
% 47.33/47.58  elim (classic ((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5))))); [ zenon_intro zenon_H1b0 | zenon_intro zenon_H1b1 ].
% 47.33/47.58  cut (((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5)))) = ((e0) = (op (e2) (op (e1) (e5))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1af.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H1b0.
% 47.33/47.58  cut (((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1b1].
% 47.33/47.58  cut (((op (e2) (op (e1) (e5))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H1b2].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e2) (e3)) = (e0)) = ((op (e2) (op (e1) (e5))) = (e0))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1b2.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H59.
% 47.33/47.58  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.33/47.58  cut (((op (e2) (e3)) = (op (e2) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1b3].
% 47.33/47.58  congruence.
% 47.33/47.58  elim (classic ((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5))))); [ zenon_intro zenon_H1b0 | zenon_intro zenon_H1b1 ].
% 47.33/47.58  cut (((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5)))) = ((op (e2) (e3)) = (op (e2) (op (e1) (e5))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1b3.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H1b0.
% 47.33/47.58  cut (((op (e2) (op (e1) (e5))) = (op (e2) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1b1].
% 47.33/47.58  cut (((op (e2) (op (e1) (e5))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1b4].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 47.33/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.58  congruence.
% 47.33/47.58  apply zenon_H19. apply refl_equal.
% 47.33/47.58  exact (zenon_H40 zenon_H39).
% 47.33/47.58  apply zenon_H1b1. apply refl_equal.
% 47.33/47.58  apply zenon_H1b1. apply refl_equal.
% 47.33/47.58  apply zenon_H5. apply refl_equal.
% 47.33/47.58  apply zenon_H1b1. apply refl_equal.
% 47.33/47.58  apply zenon_H1b1. apply refl_equal.
% 47.33/47.58  (* end of lemma zenon_L66_ *)
% 47.33/47.58  assert (zenon_L67_ : ((op (e2) (e2)) = (e3)) -> ((op (e2) (e0)) = (e2)) -> (~((e3) = (op (e2) (op (e2) (e0))))) -> False).
% 47.33/47.58  do 0 intro. intros zenon_H51 zenon_H41 zenon_H1b5.
% 47.33/47.58  elim (classic ((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [ zenon_intro zenon_H1b6 | zenon_intro zenon_H1b7 ].
% 47.33/47.58  cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0)))) = ((e3) = (op (e2) (op (e2) (e0))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1b5.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H1b6.
% 47.33/47.58  cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1b7].
% 47.33/47.58  cut (((op (e2) (op (e2) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1b8].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e2) (e2)) = (e3)) = ((op (e2) (op (e2) (e0))) = (e3))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1b8.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H51.
% 47.33/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.33/47.58  cut (((op (e2) (e2)) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1b9].
% 47.33/47.58  congruence.
% 47.33/47.58  elim (classic ((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [ zenon_intro zenon_H1b6 | zenon_intro zenon_H1b7 ].
% 47.33/47.58  cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0)))) = ((op (e2) (e2)) = (op (e2) (op (e2) (e0))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1b9.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H1b6.
% 47.33/47.58  cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1b7].
% 47.33/47.58  cut (((op (e2) (op (e2) (e0))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1ba].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 47.33/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.58  congruence.
% 47.33/47.58  apply zenon_H19. apply refl_equal.
% 47.33/47.58  exact (zenon_H48 zenon_H41).
% 47.33/47.58  apply zenon_H1b7. apply refl_equal.
% 47.33/47.58  apply zenon_H1b7. apply refl_equal.
% 47.33/47.58  apply zenon_H24. apply refl_equal.
% 47.33/47.58  apply zenon_H1b7. apply refl_equal.
% 47.33/47.58  apply zenon_H1b7. apply refl_equal.
% 47.33/47.58  (* end of lemma zenon_L67_ *)
% 47.33/47.58  assert (zenon_L68_ : ((op (e2) (e4)) = (e5)) -> ((op (e2) (e1)) = (e4)) -> (~((e5) = (op (e2) (op (e2) (e1))))) -> False).
% 47.33/47.58  do 0 intro. intros zenon_H61 zenon_H49 zenon_H1bb.
% 47.33/47.58  elim (classic ((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [ zenon_intro zenon_H1bc | zenon_intro zenon_H1bd ].
% 47.33/47.58  cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1)))) = ((e5) = (op (e2) (op (e2) (e1))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1bb.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H1bc.
% 47.33/47.58  cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1bd].
% 47.33/47.58  cut (((op (e2) (op (e2) (e1))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H1be].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e2) (e4)) = (e5)) = ((op (e2) (op (e2) (e1))) = (e5))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1be.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H61.
% 47.33/47.58  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.33/47.58  cut (((op (e2) (e4)) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1bf].
% 47.33/47.58  congruence.
% 47.33/47.58  elim (classic ((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [ zenon_intro zenon_H1bc | zenon_intro zenon_H1bd ].
% 47.33/47.58  cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1)))) = ((op (e2) (e4)) = (op (e2) (op (e2) (e1))))).
% 47.33/47.58  intro zenon_D_pnotp.
% 47.33/47.58  apply zenon_H1bf.
% 47.33/47.58  rewrite <- zenon_D_pnotp.
% 47.33/47.58  exact zenon_H1bc.
% 47.33/47.58  cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1bd].
% 47.33/47.58  cut (((op (e2) (op (e2) (e1))) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1c0].
% 47.33/47.58  congruence.
% 47.33/47.58  cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 47.33/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.33/47.58  congruence.
% 47.33/47.58  apply zenon_H19. apply refl_equal.
% 47.33/47.58  exact (zenon_H50 zenon_H49).
% 47.33/47.58  apply zenon_H1bd. apply refl_equal.
% 47.33/47.58  apply zenon_H1bd. apply refl_equal.
% 47.33/47.58  apply zenon_H25. apply refl_equal.
% 47.33/47.58  apply zenon_H1bd. apply refl_equal.
% 47.33/47.58  apply zenon_H1bd. apply refl_equal.
% 47.33/47.58  (* end of lemma zenon_L68_ *)
% 47.33/47.58  assert (zenon_L69_ : ((op (e2) (e3)) = (e0)) -> ((op (e2) (e2)) = (e3)) -> (~((e0) = (op (e2) (op (e2) (e2))))) -> False).
% 47.33/47.58  do 0 intro. intros zenon_H59 zenon_H51 zenon_H1c1.
% 47.33/47.58  elim (classic ((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H1c3 ].
% 47.41/47.58  cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2)))) = ((e0) = (op (e2) (op (e2) (e2))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1c1.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1c2.
% 47.41/47.58  cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1c3].
% 47.41/47.58  cut (((op (e2) (op (e2) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H1c4].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e3)) = (e0)) = ((op (e2) (op (e2) (e2))) = (e0))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1c4.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H59.
% 47.41/47.58  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.41/47.58  cut (((op (e2) (e3)) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1c5].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H1c3 ].
% 47.41/47.58  cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2)))) = ((op (e2) (e3)) = (op (e2) (op (e2) (e2))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1c5.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1c2.
% 47.41/47.58  cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1c3].
% 47.41/47.58  cut (((op (e2) (op (e2) (e2))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1c6].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_H58 zenon_H51).
% 47.41/47.58  apply zenon_H1c3. apply refl_equal.
% 47.41/47.58  apply zenon_H1c3. apply refl_equal.
% 47.41/47.58  apply zenon_H5. apply refl_equal.
% 47.41/47.58  apply zenon_H1c3. apply refl_equal.
% 47.41/47.58  apply zenon_H1c3. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L69_ *)
% 47.41/47.58  assert (zenon_L70_ : ((op (e2) (e0)) = (e2)) -> ((op (e2) (e3)) = (e0)) -> (~((e2) = (op (e2) (op (e2) (e3))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H41 zenon_H59 zenon_H1c7.
% 47.41/47.58  elim (classic ((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H1c9 ].
% 47.41/47.58  cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3)))) = ((e2) = (op (e2) (op (e2) (e3))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1c7.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1c8.
% 47.41/47.58  cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1c9].
% 47.41/47.58  cut (((op (e2) (op (e2) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1ca].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e2) (e3))) = (e2))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1ca.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H41.
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  cut (((op (e2) (e0)) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1cb].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H1c9 ].
% 47.41/47.58  cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3)))) = ((op (e2) (e0)) = (op (e2) (op (e2) (e3))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1cb.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1c8.
% 47.41/47.58  cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1c9].
% 47.41/47.58  cut (((op (e2) (op (e2) (e3))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1cc].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_H60 zenon_H59).
% 47.41/47.58  apply zenon_H1c9. apply refl_equal.
% 47.41/47.58  apply zenon_H1c9. apply refl_equal.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  apply zenon_H1c9. apply refl_equal.
% 47.41/47.58  apply zenon_H1c9. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L70_ *)
% 47.41/47.58  assert (zenon_L71_ : ((op (e2) (e5)) = (e1)) -> ((op (e2) (e4)) = (e5)) -> (~((e1) = (op (e2) (op (e2) (e4))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H69 zenon_H61 zenon_H1cd.
% 47.41/47.58  elim (classic ((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4))))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1cf ].
% 47.41/47.58  cut (((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4)))) = ((e1) = (op (e2) (op (e2) (e4))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1cd.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1ce.
% 47.41/47.58  cut (((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1cf].
% 47.41/47.58  cut (((op (e2) (op (e2) (e4))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H1d0].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e5)) = (e1)) = ((op (e2) (op (e2) (e4))) = (e1))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1d0.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H69.
% 47.41/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.41/47.58  cut (((op (e2) (e5)) = (op (e2) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1d1].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4))))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1cf ].
% 47.41/47.58  cut (((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4)))) = ((op (e2) (e5)) = (op (e2) (op (e2) (e4))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1d1.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1ce.
% 47.41/47.58  cut (((op (e2) (op (e2) (e4))) = (op (e2) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1cf].
% 47.41/47.58  cut (((op (e2) (op (e2) (e4))) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H1d2].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_H68 zenon_H61).
% 47.41/47.58  apply zenon_H1cf. apply refl_equal.
% 47.41/47.58  apply zenon_H1cf. apply refl_equal.
% 47.41/47.58  apply zenon_H6. apply refl_equal.
% 47.41/47.58  apply zenon_H1cf. apply refl_equal.
% 47.41/47.58  apply zenon_H1cf. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L71_ *)
% 47.41/47.58  assert (zenon_L72_ : ((op (e2) (e1)) = (e4)) -> ((op (e2) (e5)) = (e1)) -> (~((e4) = (op (e2) (op (e2) (e5))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H49 zenon_H69 zenon_H1d3.
% 47.41/47.58  elim (classic ((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5))))); [ zenon_intro zenon_H1d4 | zenon_intro zenon_H1d5 ].
% 47.41/47.58  cut (((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5)))) = ((e4) = (op (e2) (op (e2) (e5))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1d3.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1d4.
% 47.41/47.58  cut (((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1d5].
% 47.41/47.58  cut (((op (e2) (op (e2) (e5))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1d6].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e1)) = (e4)) = ((op (e2) (op (e2) (e5))) = (e4))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1d6.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H49.
% 47.41/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.41/47.58  cut (((op (e2) (e1)) = (op (e2) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1d7].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5))))); [ zenon_intro zenon_H1d4 | zenon_intro zenon_H1d5 ].
% 47.41/47.58  cut (((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5)))) = ((op (e2) (e1)) = (op (e2) (op (e2) (e5))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1d7.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1d4.
% 47.41/47.58  cut (((op (e2) (op (e2) (e5))) = (op (e2) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1d5].
% 47.41/47.58  cut (((op (e2) (op (e2) (e5))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1d8].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_H70 zenon_H69).
% 47.41/47.58  apply zenon_H1d5. apply refl_equal.
% 47.41/47.58  apply zenon_H1d5. apply refl_equal.
% 47.41/47.58  apply zenon_H1a. apply refl_equal.
% 47.41/47.58  apply zenon_H1d5. apply refl_equal.
% 47.41/47.58  apply zenon_H1d5. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L72_ *)
% 47.41/47.58  assert (zenon_L73_ : ((op (e2) (e4)) = (e5)) -> ((op (e4) (e0)) = (e4)) -> (~((e5) = (op (e2) (op (e4) (e0))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H61 zenon_Ha1 zenon_H1d9.
% 47.41/47.58  elim (classic ((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0))))); [ zenon_intro zenon_H1da | zenon_intro zenon_H1db ].
% 47.41/47.58  cut (((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0)))) = ((e5) = (op (e2) (op (e4) (e0))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1d9.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1da.
% 47.41/47.58  cut (((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1db].
% 47.41/47.58  cut (((op (e2) (op (e4) (e0))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H1dc].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e4)) = (e5)) = ((op (e2) (op (e4) (e0))) = (e5))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1dc.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H61.
% 47.41/47.58  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.41/47.58  cut (((op (e2) (e4)) = (op (e2) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0))))); [ zenon_intro zenon_H1da | zenon_intro zenon_H1db ].
% 47.41/47.58  cut (((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0)))) = ((op (e2) (e4)) = (op (e2) (op (e4) (e0))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1dd.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1da.
% 47.41/47.58  cut (((op (e2) (op (e4) (e0))) = (op (e2) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1db].
% 47.41/47.58  cut (((op (e2) (op (e4) (e0))) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1de].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_Ha8 zenon_Ha1).
% 47.41/47.58  apply zenon_H1db. apply refl_equal.
% 47.41/47.58  apply zenon_H1db. apply refl_equal.
% 47.41/47.58  apply zenon_H25. apply refl_equal.
% 47.41/47.58  apply zenon_H1db. apply refl_equal.
% 47.41/47.58  apply zenon_H1db. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L73_ *)
% 47.41/47.58  assert (zenon_L74_ : ((op (e2) (e2)) = (e3)) -> ((op (e4) (e1)) = (e2)) -> (~((e3) = (op (e2) (op (e4) (e1))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H51 zenon_Ha9 zenon_H1df.
% 47.41/47.58  elim (classic ((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1))))); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e1 ].
% 47.41/47.58  cut (((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1)))) = ((e3) = (op (e2) (op (e4) (e1))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1df.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1e0.
% 47.41/47.58  cut (((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1e1].
% 47.41/47.58  cut (((op (e2) (op (e4) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e2].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e2)) = (e3)) = ((op (e2) (op (e4) (e1))) = (e3))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1e2.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H51.
% 47.41/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.41/47.58  cut (((op (e2) (e2)) = (op (e2) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1e3].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1))))); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e1 ].
% 47.41/47.58  cut (((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1)))) = ((op (e2) (e2)) = (op (e2) (op (e4) (e1))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1e3.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1e0.
% 47.41/47.58  cut (((op (e2) (op (e4) (e1))) = (op (e2) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1e1].
% 47.41/47.58  cut (((op (e2) (op (e4) (e1))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_Hb0 zenon_Ha9).
% 47.41/47.58  apply zenon_H1e1. apply refl_equal.
% 47.41/47.58  apply zenon_H1e1. apply refl_equal.
% 47.41/47.58  apply zenon_H24. apply refl_equal.
% 47.41/47.58  apply zenon_H1e1. apply refl_equal.
% 47.41/47.58  apply zenon_H1e1. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L74_ *)
% 47.41/47.58  assert (zenon_L75_ : ((op (e2) (e5)) = (e1)) -> ((op (e4) (e2)) = (e5)) -> (~((e1) = (op (e2) (op (e4) (e2))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H69 zenon_Hb1 zenon_H1e5.
% 47.41/47.58  elim (classic ((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2))))); [ zenon_intro zenon_H1e6 | zenon_intro zenon_H1e7 ].
% 47.41/47.58  cut (((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2)))) = ((e1) = (op (e2) (op (e4) (e2))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1e5.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1e6.
% 47.41/47.58  cut (((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 47.41/47.58  cut (((op (e2) (op (e4) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H1e8].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e5)) = (e1)) = ((op (e2) (op (e4) (e2))) = (e1))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1e8.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H69.
% 47.41/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.41/47.58  cut (((op (e2) (e5)) = (op (e2) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1e9].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2))))); [ zenon_intro zenon_H1e6 | zenon_intro zenon_H1e7 ].
% 47.41/47.58  cut (((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2)))) = ((op (e2) (e5)) = (op (e2) (op (e4) (e2))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1e9.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1e6.
% 47.41/47.58  cut (((op (e2) (op (e4) (e2))) = (op (e2) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 47.41/47.58  cut (((op (e2) (op (e4) (e2))) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H1ea].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_Hb8 zenon_Hb1).
% 47.41/47.58  apply zenon_H1e7. apply refl_equal.
% 47.41/47.58  apply zenon_H1e7. apply refl_equal.
% 47.41/47.58  apply zenon_H6. apply refl_equal.
% 47.41/47.58  apply zenon_H1e7. apply refl_equal.
% 47.41/47.58  apply zenon_H1e7. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L75_ *)
% 47.41/47.58  assert (zenon_L76_ : ((op (e2) (e1)) = (e4)) -> ((op (e4) (e3)) = (e1)) -> (~((e4) = (op (e2) (op (e4) (e3))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H49 zenon_Hb9 zenon_H1eb.
% 47.41/47.58  elim (classic ((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3))))); [ zenon_intro zenon_H1ec | zenon_intro zenon_H1ed ].
% 47.41/47.58  cut (((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3)))) = ((e4) = (op (e2) (op (e4) (e3))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1eb.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1ec.
% 47.41/47.58  cut (((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1ed].
% 47.41/47.58  cut (((op (e2) (op (e4) (e3))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1ee].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e1)) = (e4)) = ((op (e2) (op (e4) (e3))) = (e4))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1ee.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H49.
% 47.41/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.41/47.58  cut (((op (e2) (e1)) = (op (e2) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1ef].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3))))); [ zenon_intro zenon_H1ec | zenon_intro zenon_H1ed ].
% 47.41/47.58  cut (((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3)))) = ((op (e2) (e1)) = (op (e2) (op (e4) (e3))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1ef.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1ec.
% 47.41/47.58  cut (((op (e2) (op (e4) (e3))) = (op (e2) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1ed].
% 47.41/47.58  cut (((op (e2) (op (e4) (e3))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1f0].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_Hc0 zenon_Hb9).
% 47.41/47.58  apply zenon_H1ed. apply refl_equal.
% 47.41/47.58  apply zenon_H1ed. apply refl_equal.
% 47.41/47.58  apply zenon_H1a. apply refl_equal.
% 47.41/47.58  apply zenon_H1ed. apply refl_equal.
% 47.41/47.58  apply zenon_H1ed. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L76_ *)
% 47.41/47.58  assert (zenon_L77_ : ((op (e2) (e3)) = (e0)) -> ((op (e4) (e4)) = (e3)) -> (~((e0) = (op (e2) (op (e4) (e4))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H59 zenon_Hc1 zenon_H1f1.
% 47.41/47.58  elim (classic ((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4))))); [ zenon_intro zenon_H1f2 | zenon_intro zenon_H1f3 ].
% 47.41/47.58  cut (((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4)))) = ((e0) = (op (e2) (op (e4) (e4))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1f1.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1f2.
% 47.41/47.58  cut (((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1f3].
% 47.41/47.58  cut (((op (e2) (op (e4) (e4))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H1f4].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e3)) = (e0)) = ((op (e2) (op (e4) (e4))) = (e0))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1f4.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H59.
% 47.41/47.58  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.41/47.58  cut (((op (e2) (e3)) = (op (e2) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1f5].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4))))); [ zenon_intro zenon_H1f2 | zenon_intro zenon_H1f3 ].
% 47.41/47.58  cut (((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4)))) = ((op (e2) (e3)) = (op (e2) (op (e4) (e4))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1f5.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1f2.
% 47.41/47.58  cut (((op (e2) (op (e4) (e4))) = (op (e2) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1f3].
% 47.41/47.58  cut (((op (e2) (op (e4) (e4))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1f6].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_Hc8 zenon_Hc1).
% 47.41/47.58  apply zenon_H1f3. apply refl_equal.
% 47.41/47.58  apply zenon_H1f3. apply refl_equal.
% 47.41/47.58  apply zenon_H5. apply refl_equal.
% 47.41/47.58  apply zenon_H1f3. apply refl_equal.
% 47.41/47.58  apply zenon_H1f3. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L77_ *)
% 47.41/47.58  assert (zenon_L78_ : ((op (e2) (e0)) = (e2)) -> ((op (e4) (e5)) = (e0)) -> (~((e2) = (op (e2) (op (e4) (e5))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H41 zenon_Hc9 zenon_H1f7.
% 47.41/47.58  elim (classic ((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5))))); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H1f9 ].
% 47.41/47.58  cut (((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5)))) = ((e2) = (op (e2) (op (e4) (e5))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1f7.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1f8.
% 47.41/47.58  cut (((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1f9].
% 47.41/47.58  cut (((op (e2) (op (e4) (e5))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1fa].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e4) (e5))) = (e2))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1fa.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H41.
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  cut (((op (e2) (e0)) = (op (e2) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1fb].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5))))); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H1f9 ].
% 47.41/47.58  cut (((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5)))) = ((op (e2) (e0)) = (op (e2) (op (e4) (e5))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1fb.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1f8.
% 47.41/47.58  cut (((op (e2) (op (e4) (e5))) = (op (e2) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1f9].
% 47.41/47.58  cut (((op (e2) (op (e4) (e5))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1fc].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_Hd0 zenon_Hc9).
% 47.41/47.58  apply zenon_H1f9. apply refl_equal.
% 47.41/47.58  apply zenon_H1f9. apply refl_equal.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  apply zenon_H1f9. apply refl_equal.
% 47.41/47.58  apply zenon_H1f9. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L78_ *)
% 47.41/47.58  assert (zenon_L79_ : ((op (e2) (e5)) = (e1)) -> ((op (e5) (e0)) = (e5)) -> (~((e1) = (op (e2) (op (e5) (e0))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H69 zenon_Hd1 zenon_H1fd.
% 47.41/47.58  elim (classic ((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0))))); [ zenon_intro zenon_H1fe | zenon_intro zenon_H1ff ].
% 47.41/47.58  cut (((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0)))) = ((e1) = (op (e2) (op (e5) (e0))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H1fd.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1fe.
% 47.41/47.58  cut (((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1ff].
% 47.41/47.58  cut (((op (e2) (op (e5) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H200].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e5)) = (e1)) = ((op (e2) (op (e5) (e0))) = (e1))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H200.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H69.
% 47.41/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.41/47.58  cut (((op (e2) (e5)) = (op (e2) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H201].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0))))); [ zenon_intro zenon_H1fe | zenon_intro zenon_H1ff ].
% 47.41/47.58  cut (((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0)))) = ((op (e2) (e5)) = (op (e2) (op (e5) (e0))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H201.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H1fe.
% 47.41/47.58  cut (((op (e2) (op (e5) (e0))) = (op (e2) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1ff].
% 47.41/47.58  cut (((op (e2) (op (e5) (e0))) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H202].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_Hd8 zenon_Hd1).
% 47.41/47.58  apply zenon_H1ff. apply refl_equal.
% 47.41/47.58  apply zenon_H1ff. apply refl_equal.
% 47.41/47.58  apply zenon_H6. apply refl_equal.
% 47.41/47.58  apply zenon_H1ff. apply refl_equal.
% 47.41/47.58  apply zenon_H1ff. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L79_ *)
% 47.41/47.58  assert (zenon_L80_ : ((op (e2) (e3)) = (e0)) -> ((op (e5) (e1)) = (e3)) -> (~((e0) = (op (e2) (op (e5) (e1))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H59 zenon_Hd9 zenon_H203.
% 47.41/47.58  elim (classic ((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1))))); [ zenon_intro zenon_H204 | zenon_intro zenon_H205 ].
% 47.41/47.58  cut (((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1)))) = ((e0) = (op (e2) (op (e5) (e1))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H203.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H204.
% 47.41/47.58  cut (((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H205].
% 47.41/47.58  cut (((op (e2) (op (e5) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H206].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e3)) = (e0)) = ((op (e2) (op (e5) (e1))) = (e0))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H206.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H59.
% 47.41/47.58  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.41/47.58  cut (((op (e2) (e3)) = (op (e2) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H207].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1))))); [ zenon_intro zenon_H204 | zenon_intro zenon_H205 ].
% 47.41/47.58  cut (((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1)))) = ((op (e2) (e3)) = (op (e2) (op (e5) (e1))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H207.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H204.
% 47.41/47.58  cut (((op (e2) (op (e5) (e1))) = (op (e2) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H205].
% 47.41/47.58  cut (((op (e2) (op (e5) (e1))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H208].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_He0 zenon_Hd9).
% 47.41/47.58  apply zenon_H205. apply refl_equal.
% 47.41/47.58  apply zenon_H205. apply refl_equal.
% 47.41/47.58  apply zenon_H5. apply refl_equal.
% 47.41/47.58  apply zenon_H205. apply refl_equal.
% 47.41/47.58  apply zenon_H205. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L80_ *)
% 47.41/47.58  assert (zenon_L81_ : ((op (e2) (e1)) = (e4)) -> ((op (e5) (e2)) = (e1)) -> (~((e4) = (op (e2) (op (e5) (e2))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H49 zenon_He1 zenon_H209.
% 47.41/47.58  elim (classic ((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2))))); [ zenon_intro zenon_H20a | zenon_intro zenon_H20b ].
% 47.41/47.58  cut (((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2)))) = ((e4) = (op (e2) (op (e5) (e2))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H209.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H20a.
% 47.41/47.58  cut (((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H20b].
% 47.41/47.58  cut (((op (e2) (op (e5) (e2))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H20c].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e1)) = (e4)) = ((op (e2) (op (e5) (e2))) = (e4))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H20c.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H49.
% 47.41/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.41/47.58  cut (((op (e2) (e1)) = (op (e2) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H20d].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2))))); [ zenon_intro zenon_H20a | zenon_intro zenon_H20b ].
% 47.41/47.58  cut (((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2)))) = ((op (e2) (e1)) = (op (e2) (op (e5) (e2))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H20d.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H20a.
% 47.41/47.58  cut (((op (e2) (op (e5) (e2))) = (op (e2) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H20b].
% 47.41/47.58  cut (((op (e2) (op (e5) (e2))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H20e].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_He8 zenon_He1).
% 47.41/47.58  apply zenon_H20b. apply refl_equal.
% 47.41/47.58  apply zenon_H20b. apply refl_equal.
% 47.41/47.58  apply zenon_H1a. apply refl_equal.
% 47.41/47.58  apply zenon_H20b. apply refl_equal.
% 47.41/47.58  apply zenon_H20b. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L81_ *)
% 47.41/47.58  assert (zenon_L82_ : ((op (e2) (e4)) = (e5)) -> ((op (e5) (e3)) = (e4)) -> (~((e5) = (op (e2) (op (e5) (e3))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H61 zenon_He9 zenon_H20f.
% 47.41/47.58  elim (classic ((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3))))); [ zenon_intro zenon_H210 | zenon_intro zenon_H211 ].
% 47.41/47.58  cut (((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3)))) = ((e5) = (op (e2) (op (e5) (e3))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H20f.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H210.
% 47.41/47.58  cut (((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 47.41/47.58  cut (((op (e2) (op (e5) (e3))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H212].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e4)) = (e5)) = ((op (e2) (op (e5) (e3))) = (e5))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H212.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H61.
% 47.41/47.58  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.41/47.58  cut (((op (e2) (e4)) = (op (e2) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H213].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3))))); [ zenon_intro zenon_H210 | zenon_intro zenon_H211 ].
% 47.41/47.58  cut (((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3)))) = ((op (e2) (e4)) = (op (e2) (op (e5) (e3))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H213.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H210.
% 47.41/47.58  cut (((op (e2) (op (e5) (e3))) = (op (e2) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 47.41/47.58  cut (((op (e2) (op (e5) (e3))) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H214].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_Hf0 zenon_He9).
% 47.41/47.58  apply zenon_H211. apply refl_equal.
% 47.41/47.58  apply zenon_H211. apply refl_equal.
% 47.41/47.58  apply zenon_H25. apply refl_equal.
% 47.41/47.58  apply zenon_H211. apply refl_equal.
% 47.41/47.58  apply zenon_H211. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L82_ *)
% 47.41/47.58  assert (zenon_L83_ : ((op (e2) (e0)) = (e2)) -> ((op (e5) (e4)) = (e0)) -> (~((e2) = (op (e2) (op (e5) (e4))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H41 zenon_Hf1 zenon_H215.
% 47.41/47.58  elim (classic ((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4))))); [ zenon_intro zenon_H216 | zenon_intro zenon_H217 ].
% 47.41/47.58  cut (((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4)))) = ((e2) = (op (e2) (op (e5) (e4))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H215.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H216.
% 47.41/47.58  cut (((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H217].
% 47.41/47.58  cut (((op (e2) (op (e5) (e4))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H218].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e5) (e4))) = (e2))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H218.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H41.
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  cut (((op (e2) (e0)) = (op (e2) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H219].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4))))); [ zenon_intro zenon_H216 | zenon_intro zenon_H217 ].
% 47.41/47.58  cut (((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4)))) = ((op (e2) (e0)) = (op (e2) (op (e5) (e4))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H219.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H216.
% 47.41/47.58  cut (((op (e2) (op (e5) (e4))) = (op (e2) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H217].
% 47.41/47.58  cut (((op (e2) (op (e5) (e4))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H21a].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_Hf8 zenon_Hf1).
% 47.41/47.58  apply zenon_H217. apply refl_equal.
% 47.41/47.58  apply zenon_H217. apply refl_equal.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  apply zenon_H217. apply refl_equal.
% 47.41/47.58  apply zenon_H217. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L83_ *)
% 47.41/47.58  assert (zenon_L84_ : ((op (e2) (e2)) = (e3)) -> ((op (e5) (e5)) = (e2)) -> (~((e3) = (op (e2) (op (e5) (e5))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H51 zenon_Hf9 zenon_H21b.
% 47.41/47.58  elim (classic ((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5))))); [ zenon_intro zenon_H21c | zenon_intro zenon_H21d ].
% 47.41/47.58  cut (((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5)))) = ((e3) = (op (e2) (op (e5) (e5))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H21b.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H21c.
% 47.41/47.58  cut (((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H21d].
% 47.41/47.58  cut (((op (e2) (op (e5) (e5))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H21e].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e2) (e2)) = (e3)) = ((op (e2) (op (e5) (e5))) = (e3))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H21e.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H51.
% 47.41/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.41/47.58  cut (((op (e2) (e2)) = (op (e2) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H21f].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5))))); [ zenon_intro zenon_H21c | zenon_intro zenon_H21d ].
% 47.41/47.58  cut (((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5)))) = ((op (e2) (e2)) = (op (e2) (op (e5) (e5))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H21f.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H21c.
% 47.41/47.58  cut (((op (e2) (op (e5) (e5))) = (op (e2) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H21d].
% 47.41/47.58  cut (((op (e2) (op (e5) (e5))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H220].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  exact (zenon_H100 zenon_Hf9).
% 47.41/47.58  apply zenon_H21d. apply refl_equal.
% 47.41/47.58  apply zenon_H21d. apply refl_equal.
% 47.41/47.58  apply zenon_H24. apply refl_equal.
% 47.41/47.58  apply zenon_H21d. apply refl_equal.
% 47.41/47.58  apply zenon_H21d. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L84_ *)
% 47.41/47.58  assert (zenon_L85_ : ((op (e3) (e1)) = (e5)) -> ((op (e1) (e0)) = (e1)) -> (~((e5) = (op (e3) (op (e1) (e0))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H79 zenon_H8 zenon_H221.
% 47.41/47.58  elim (classic ((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [ zenon_intro zenon_H222 | zenon_intro zenon_H223 ].
% 47.41/47.58  cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0)))) = ((e5) = (op (e3) (op (e1) (e0))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H221.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H222.
% 47.41/47.58  cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H223].
% 47.41/47.58  cut (((op (e3) (op (e1) (e0))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H224].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e3) (e1)) = (e5)) = ((op (e3) (op (e1) (e0))) = (e5))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H224.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H79.
% 47.41/47.58  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.41/47.58  cut (((op (e3) (e1)) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H225].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [ zenon_intro zenon_H222 | zenon_intro zenon_H223 ].
% 47.41/47.58  cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0)))) = ((op (e3) (e1)) = (op (e3) (op (e1) (e0))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H225.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H222.
% 47.41/47.58  cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H223].
% 47.41/47.58  cut (((op (e3) (op (e1) (e0))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H226].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 47.41/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H24. apply refl_equal.
% 47.41/47.58  exact (zenon_Hf zenon_H8).
% 47.41/47.58  apply zenon_H223. apply refl_equal.
% 47.41/47.58  apply zenon_H223. apply refl_equal.
% 47.41/47.58  apply zenon_H25. apply refl_equal.
% 47.41/47.58  apply zenon_H223. apply refl_equal.
% 47.41/47.58  apply zenon_H223. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L85_ *)
% 47.41/47.58  assert (zenon_L86_ : ((op (e3) (e0)) = (e3)) -> ((op (e1) (e1)) = (e0)) -> (~((e3) = (op (e3) (op (e1) (e1))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H71 zenon_H11 zenon_H227.
% 47.41/47.58  elim (classic ((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [ zenon_intro zenon_H228 | zenon_intro zenon_H229 ].
% 47.41/47.58  cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1)))) = ((e3) = (op (e3) (op (e1) (e1))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H227.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H228.
% 47.41/47.58  cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H229].
% 47.41/47.58  cut (((op (e3) (op (e1) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H22a].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e1) (e1))) = (e3))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H22a.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H71.
% 47.41/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.41/47.58  cut (((op (e3) (e0)) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H22b].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [ zenon_intro zenon_H228 | zenon_intro zenon_H229 ].
% 47.41/47.58  cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1)))) = ((op (e3) (e0)) = (op (e3) (op (e1) (e1))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H22b.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H228.
% 47.41/47.58  cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H229].
% 47.41/47.58  cut (((op (e3) (op (e1) (e1))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H22c].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 47.41/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H24. apply refl_equal.
% 47.41/47.58  exact (zenon_H18 zenon_H11).
% 47.41/47.58  apply zenon_H229. apply refl_equal.
% 47.41/47.58  apply zenon_H229. apply refl_equal.
% 47.41/47.58  apply zenon_H24. apply refl_equal.
% 47.41/47.58  apply zenon_H229. apply refl_equal.
% 47.41/47.58  apply zenon_H229. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L86_ *)
% 47.41/47.58  assert (zenon_L87_ : ((op (e3) (e4)) = (e1)) -> ((op (e1) (e2)) = (e4)) -> (~((e1) = (op (e3) (op (e1) (e2))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H91 zenon_H1c zenon_H22d.
% 47.41/47.58  elim (classic ((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [ zenon_intro zenon_H22e | zenon_intro zenon_H22f ].
% 47.41/47.58  cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2)))) = ((e1) = (op (e3) (op (e1) (e2))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H22d.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H22e.
% 47.41/47.58  cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H22f].
% 47.41/47.58  cut (((op (e3) (op (e1) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H230].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e3) (e4)) = (e1)) = ((op (e3) (op (e1) (e2))) = (e1))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H230.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H91.
% 47.41/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.41/47.58  cut (((op (e3) (e4)) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H231].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [ zenon_intro zenon_H22e | zenon_intro zenon_H22f ].
% 47.41/47.58  cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2)))) = ((op (e3) (e4)) = (op (e3) (op (e1) (e2))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H231.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H22e.
% 47.41/47.58  cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H22f].
% 47.41/47.58  cut (((op (e3) (op (e1) (e2))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H232].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 47.41/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H24. apply refl_equal.
% 47.41/47.58  exact (zenon_H23 zenon_H1c).
% 47.41/47.58  apply zenon_H22f. apply refl_equal.
% 47.41/47.58  apply zenon_H22f. apply refl_equal.
% 47.41/47.58  apply zenon_H6. apply refl_equal.
% 47.41/47.58  apply zenon_H22f. apply refl_equal.
% 47.41/47.58  apply zenon_H22f. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L87_ *)
% 47.41/47.58  assert (zenon_L88_ : ((op (e3) (e5)) = (e4)) -> ((op (e1) (e3)) = (e5)) -> (~((e4) = (op (e3) (op (e1) (e3))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H99 zenon_H27 zenon_H233.
% 47.41/47.58  elim (classic ((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [ zenon_intro zenon_H234 | zenon_intro zenon_H235 ].
% 47.41/47.58  cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3)))) = ((e4) = (op (e3) (op (e1) (e3))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H233.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H234.
% 47.41/47.58  cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H235].
% 47.41/47.58  cut (((op (e3) (op (e1) (e3))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H236].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e3) (e5)) = (e4)) = ((op (e3) (op (e1) (e3))) = (e4))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H236.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H99.
% 47.41/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.41/47.58  cut (((op (e3) (e5)) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H237].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [ zenon_intro zenon_H234 | zenon_intro zenon_H235 ].
% 47.41/47.58  cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3)))) = ((op (e3) (e5)) = (op (e3) (op (e1) (e3))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H237.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H234.
% 47.41/47.58  cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H235].
% 47.41/47.58  cut (((op (e3) (op (e1) (e3))) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H238].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 47.41/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H24. apply refl_equal.
% 47.41/47.58  exact (zenon_H2e zenon_H27).
% 47.41/47.58  apply zenon_H235. apply refl_equal.
% 47.41/47.58  apply zenon_H235. apply refl_equal.
% 47.41/47.58  apply zenon_H1a. apply refl_equal.
% 47.41/47.58  apply zenon_H235. apply refl_equal.
% 47.41/47.58  apply zenon_H235. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L88_ *)
% 47.41/47.58  assert (zenon_L89_ : ((op (e3) (e2)) = (e0)) -> ((op (e1) (e4)) = (e2)) -> (~((e0) = (op (e3) (op (e1) (e4))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H81 zenon_H30 zenon_H239.
% 47.41/47.58  elim (classic ((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4))))); [ zenon_intro zenon_H23a | zenon_intro zenon_H23b ].
% 47.41/47.58  cut (((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4)))) = ((e0) = (op (e3) (op (e1) (e4))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H239.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H23a.
% 47.41/47.58  cut (((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H23b].
% 47.41/47.58  cut (((op (e3) (op (e1) (e4))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H23c].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e3) (e2)) = (e0)) = ((op (e3) (op (e1) (e4))) = (e0))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H23c.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H81.
% 47.41/47.58  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.41/47.58  cut (((op (e3) (e2)) = (op (e3) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H23d].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4))))); [ zenon_intro zenon_H23a | zenon_intro zenon_H23b ].
% 47.41/47.58  cut (((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4)))) = ((op (e3) (e2)) = (op (e3) (op (e1) (e4))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H23d.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H23a.
% 47.41/47.58  cut (((op (e3) (op (e1) (e4))) = (op (e3) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H23b].
% 47.41/47.58  cut (((op (e3) (op (e1) (e4))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H23e].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 47.41/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H24. apply refl_equal.
% 47.41/47.58  exact (zenon_H37 zenon_H30).
% 47.41/47.58  apply zenon_H23b. apply refl_equal.
% 47.41/47.58  apply zenon_H23b. apply refl_equal.
% 47.41/47.58  apply zenon_H5. apply refl_equal.
% 47.41/47.58  apply zenon_H23b. apply refl_equal.
% 47.41/47.58  apply zenon_H23b. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L89_ *)
% 47.41/47.58  assert (zenon_L90_ : ((op (e3) (e3)) = (e2)) -> ((op (e1) (e5)) = (e3)) -> (~((e2) = (op (e3) (op (e1) (e5))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H89 zenon_H39 zenon_H23f.
% 47.41/47.58  elim (classic ((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5))))); [ zenon_intro zenon_H240 | zenon_intro zenon_H241 ].
% 47.41/47.58  cut (((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5)))) = ((e2) = (op (e3) (op (e1) (e5))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H23f.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H240.
% 47.41/47.58  cut (((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H241].
% 47.41/47.58  cut (((op (e3) (op (e1) (e5))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H242].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e3) (e3)) = (e2)) = ((op (e3) (op (e1) (e5))) = (e2))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H242.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H89.
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  cut (((op (e3) (e3)) = (op (e3) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H243].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5))))); [ zenon_intro zenon_H240 | zenon_intro zenon_H241 ].
% 47.41/47.58  cut (((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5)))) = ((op (e3) (e3)) = (op (e3) (op (e1) (e5))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H243.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H240.
% 47.41/47.58  cut (((op (e3) (op (e1) (e5))) = (op (e3) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H241].
% 47.41/47.58  cut (((op (e3) (op (e1) (e5))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H244].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 47.41/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H24. apply refl_equal.
% 47.41/47.58  exact (zenon_H40 zenon_H39).
% 47.41/47.58  apply zenon_H241. apply refl_equal.
% 47.41/47.58  apply zenon_H241. apply refl_equal.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  apply zenon_H241. apply refl_equal.
% 47.41/47.58  apply zenon_H241. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L90_ *)
% 47.41/47.58  assert (zenon_L91_ : ((op (e3) (e3)) = (e2)) -> ((op (e3) (e0)) = (e3)) -> (~((e2) = (op (e3) (op (e3) (e0))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H89 zenon_H71 zenon_H245.
% 47.41/47.58  elim (classic ((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [ zenon_intro zenon_H246 | zenon_intro zenon_H247 ].
% 47.41/47.58  cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0)))) = ((e2) = (op (e3) (op (e3) (e0))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H245.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H246.
% 47.41/47.58  cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H247].
% 47.41/47.58  cut (((op (e3) (op (e3) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H248].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e3) (e3)) = (e2)) = ((op (e3) (op (e3) (e0))) = (e2))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H248.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H89.
% 47.41/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.41/47.58  cut (((op (e3) (e3)) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H249].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [ zenon_intro zenon_H246 | zenon_intro zenon_H247 ].
% 47.41/47.58  cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0)))) = ((op (e3) (e3)) = (op (e3) (op (e3) (e0))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H249.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H246.
% 47.41/47.58  cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H247].
% 47.41/47.58  cut (((op (e3) (op (e3) (e0))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H24a].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 47.41/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H24. apply refl_equal.
% 47.41/47.58  exact (zenon_H78 zenon_H71).
% 47.41/47.58  apply zenon_H247. apply refl_equal.
% 47.41/47.58  apply zenon_H247. apply refl_equal.
% 47.41/47.58  apply zenon_H19. apply refl_equal.
% 47.41/47.58  apply zenon_H247. apply refl_equal.
% 47.41/47.58  apply zenon_H247. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L91_ *)
% 47.41/47.58  assert (zenon_L92_ : ((op (e3) (e5)) = (e4)) -> ((op (e3) (e1)) = (e5)) -> (~((e4) = (op (e3) (op (e3) (e1))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H99 zenon_H79 zenon_H24b.
% 47.41/47.58  elim (classic ((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [ zenon_intro zenon_H24c | zenon_intro zenon_H24d ].
% 47.41/47.58  cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1)))) = ((e4) = (op (e3) (op (e3) (e1))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H24b.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H24c.
% 47.41/47.58  cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H24d].
% 47.41/47.58  cut (((op (e3) (op (e3) (e1))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H24e].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e3) (e5)) = (e4)) = ((op (e3) (op (e3) (e1))) = (e4))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H24e.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H99.
% 47.41/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.41/47.58  cut (((op (e3) (e5)) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H24f].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [ zenon_intro zenon_H24c | zenon_intro zenon_H24d ].
% 47.41/47.58  cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1)))) = ((op (e3) (e5)) = (op (e3) (op (e3) (e1))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H24f.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H24c.
% 47.41/47.58  cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H24d].
% 47.41/47.58  cut (((op (e3) (op (e3) (e1))) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H250].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 47.41/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H24. apply refl_equal.
% 47.41/47.58  exact (zenon_H80 zenon_H79).
% 47.41/47.58  apply zenon_H24d. apply refl_equal.
% 47.41/47.58  apply zenon_H24d. apply refl_equal.
% 47.41/47.58  apply zenon_H1a. apply refl_equal.
% 47.41/47.58  apply zenon_H24d. apply refl_equal.
% 47.41/47.58  apply zenon_H24d. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L92_ *)
% 47.41/47.58  assert (zenon_L93_ : ((op (e3) (e0)) = (e3)) -> ((op (e3) (e2)) = (e0)) -> (~((e3) = (op (e3) (op (e3) (e2))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H71 zenon_H81 zenon_H251.
% 47.41/47.58  elim (classic ((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [ zenon_intro zenon_H252 | zenon_intro zenon_H253 ].
% 47.41/47.58  cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2)))) = ((e3) = (op (e3) (op (e3) (e2))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H251.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H252.
% 47.41/47.58  cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H253].
% 47.41/47.58  cut (((op (e3) (op (e3) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H254].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e3) (e2))) = (e3))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H254.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H71.
% 47.41/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.41/47.58  cut (((op (e3) (e0)) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H255].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [ zenon_intro zenon_H252 | zenon_intro zenon_H253 ].
% 47.41/47.58  cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2)))) = ((op (e3) (e0)) = (op (e3) (op (e3) (e2))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H255.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H252.
% 47.41/47.58  cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H253].
% 47.41/47.58  cut (((op (e3) (op (e3) (e2))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H256].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 47.41/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.41/47.58  congruence.
% 47.41/47.58  apply zenon_H24. apply refl_equal.
% 47.41/47.58  exact (zenon_H88 zenon_H81).
% 47.41/47.58  apply zenon_H253. apply refl_equal.
% 47.41/47.58  apply zenon_H253. apply refl_equal.
% 47.41/47.58  apply zenon_H24. apply refl_equal.
% 47.41/47.58  apply zenon_H253. apply refl_equal.
% 47.41/47.58  apply zenon_H253. apply refl_equal.
% 47.41/47.58  (* end of lemma zenon_L93_ *)
% 47.41/47.58  assert (zenon_L94_ : ((op (e3) (e2)) = (e0)) -> ((op (e3) (e3)) = (e2)) -> (~((e0) = (op (e3) (op (e3) (e3))))) -> False).
% 47.41/47.58  do 0 intro. intros zenon_H81 zenon_H89 zenon_H257.
% 47.41/47.58  elim (classic ((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ].
% 47.41/47.58  cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3)))) = ((e0) = (op (e3) (op (e3) (e3))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H257.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H258.
% 47.41/47.58  cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H259].
% 47.41/47.58  cut (((op (e3) (op (e3) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H25a].
% 47.41/47.58  congruence.
% 47.41/47.58  cut (((op (e3) (e2)) = (e0)) = ((op (e3) (op (e3) (e3))) = (e0))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H25a.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H81.
% 47.41/47.58  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.41/47.58  cut (((op (e3) (e2)) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H25b].
% 47.41/47.58  congruence.
% 47.41/47.58  elim (classic ((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ].
% 47.41/47.58  cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3)))) = ((op (e3) (e2)) = (op (e3) (op (e3) (e3))))).
% 47.41/47.58  intro zenon_D_pnotp.
% 47.41/47.58  apply zenon_H25b.
% 47.41/47.58  rewrite <- zenon_D_pnotp.
% 47.41/47.58  exact zenon_H258.
% 47.41/47.58  cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H259].
% 47.42/47.58  cut (((op (e3) (op (e3) (e3))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H25c].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  exact (zenon_H90 zenon_H89).
% 47.42/47.58  apply zenon_H259. apply refl_equal.
% 47.42/47.58  apply zenon_H259. apply refl_equal.
% 47.42/47.58  apply zenon_H5. apply refl_equal.
% 47.42/47.58  apply zenon_H259. apply refl_equal.
% 47.42/47.58  apply zenon_H259. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L94_ *)
% 47.42/47.58  assert (zenon_L95_ : ((op (e3) (e1)) = (e5)) -> ((op (e3) (e4)) = (e1)) -> (~((e5) = (op (e3) (op (e3) (e4))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_H79 zenon_H91 zenon_H25d.
% 47.42/47.58  elim (classic ((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4))))); [ zenon_intro zenon_H25e | zenon_intro zenon_H25f ].
% 47.42/47.58  cut (((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4)))) = ((e5) = (op (e3) (op (e3) (e4))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H25d.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H25e.
% 47.42/47.58  cut (((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H25f].
% 47.42/47.58  cut (((op (e3) (op (e3) (e4))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H260].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e1)) = (e5)) = ((op (e3) (op (e3) (e4))) = (e5))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H260.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H79.
% 47.42/47.58  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.58  cut (((op (e3) (e1)) = (op (e3) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H261].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4))))); [ zenon_intro zenon_H25e | zenon_intro zenon_H25f ].
% 47.42/47.58  cut (((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4)))) = ((op (e3) (e1)) = (op (e3) (op (e3) (e4))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H261.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H25e.
% 47.42/47.58  cut (((op (e3) (op (e3) (e4))) = (op (e3) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H25f].
% 47.42/47.58  cut (((op (e3) (op (e3) (e4))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H262].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  exact (zenon_H98 zenon_H91).
% 47.42/47.58  apply zenon_H25f. apply refl_equal.
% 47.42/47.58  apply zenon_H25f. apply refl_equal.
% 47.42/47.58  apply zenon_H25. apply refl_equal.
% 47.42/47.58  apply zenon_H25f. apply refl_equal.
% 47.42/47.58  apply zenon_H25f. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L95_ *)
% 47.42/47.58  assert (zenon_L96_ : ((op (e3) (e4)) = (e1)) -> ((op (e3) (e5)) = (e4)) -> (~((e1) = (op (e3) (op (e3) (e5))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_H91 zenon_H99 zenon_H263.
% 47.42/47.58  elim (classic ((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5))))); [ zenon_intro zenon_H264 | zenon_intro zenon_H265 ].
% 47.42/47.58  cut (((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5)))) = ((e1) = (op (e3) (op (e3) (e5))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H263.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H264.
% 47.42/47.58  cut (((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H265].
% 47.42/47.58  cut (((op (e3) (op (e3) (e5))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H266].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e4)) = (e1)) = ((op (e3) (op (e3) (e5))) = (e1))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H266.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H91.
% 47.42/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.58  cut (((op (e3) (e4)) = (op (e3) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H267].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5))))); [ zenon_intro zenon_H264 | zenon_intro zenon_H265 ].
% 47.42/47.58  cut (((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5)))) = ((op (e3) (e4)) = (op (e3) (op (e3) (e5))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H267.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H264.
% 47.42/47.58  cut (((op (e3) (op (e3) (e5))) = (op (e3) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H265].
% 47.42/47.58  cut (((op (e3) (op (e3) (e5))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H268].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  exact (zenon_Ha0 zenon_H99).
% 47.42/47.58  apply zenon_H265. apply refl_equal.
% 47.42/47.58  apply zenon_H265. apply refl_equal.
% 47.42/47.58  apply zenon_H6. apply refl_equal.
% 47.42/47.58  apply zenon_H265. apply refl_equal.
% 47.42/47.58  apply zenon_H265. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L96_ *)
% 47.42/47.58  assert (zenon_L97_ : ((op (e3) (e4)) = (e1)) -> ((op (e4) (e0)) = (e4)) -> (~((e1) = (op (e3) (op (e4) (e0))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_H91 zenon_Ha1 zenon_H269.
% 47.42/47.58  elim (classic ((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0))))); [ zenon_intro zenon_H26a | zenon_intro zenon_H26b ].
% 47.42/47.58  cut (((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0)))) = ((e1) = (op (e3) (op (e4) (e0))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H269.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H26a.
% 47.42/47.58  cut (((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H26b].
% 47.42/47.58  cut (((op (e3) (op (e4) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H26c].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e4)) = (e1)) = ((op (e3) (op (e4) (e0))) = (e1))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H26c.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H91.
% 47.42/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.58  cut (((op (e3) (e4)) = (op (e3) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H26d].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0))))); [ zenon_intro zenon_H26a | zenon_intro zenon_H26b ].
% 47.42/47.58  cut (((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0)))) = ((op (e3) (e4)) = (op (e3) (op (e4) (e0))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H26d.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H26a.
% 47.42/47.58  cut (((op (e3) (op (e4) (e0))) = (op (e3) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H26b].
% 47.42/47.58  cut (((op (e3) (op (e4) (e0))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H26e].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  exact (zenon_Ha8 zenon_Ha1).
% 47.42/47.58  apply zenon_H26b. apply refl_equal.
% 47.42/47.58  apply zenon_H26b. apply refl_equal.
% 47.42/47.58  apply zenon_H6. apply refl_equal.
% 47.42/47.58  apply zenon_H26b. apply refl_equal.
% 47.42/47.58  apply zenon_H26b. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L97_ *)
% 47.42/47.58  assert (zenon_L98_ : ((op (e3) (e2)) = (e0)) -> ((op (e4) (e1)) = (e2)) -> (~((e0) = (op (e3) (op (e4) (e1))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_H81 zenon_Ha9 zenon_H26f.
% 47.42/47.58  elim (classic ((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1))))); [ zenon_intro zenon_H270 | zenon_intro zenon_H271 ].
% 47.42/47.58  cut (((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1)))) = ((e0) = (op (e3) (op (e4) (e1))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H26f.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H270.
% 47.42/47.58  cut (((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H271].
% 47.42/47.58  cut (((op (e3) (op (e4) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H272].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e2)) = (e0)) = ((op (e3) (op (e4) (e1))) = (e0))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H272.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H81.
% 47.42/47.58  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.58  cut (((op (e3) (e2)) = (op (e3) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H273].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1))))); [ zenon_intro zenon_H270 | zenon_intro zenon_H271 ].
% 47.42/47.58  cut (((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1)))) = ((op (e3) (e2)) = (op (e3) (op (e4) (e1))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H273.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H270.
% 47.42/47.58  cut (((op (e3) (op (e4) (e1))) = (op (e3) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H271].
% 47.42/47.58  cut (((op (e3) (op (e4) (e1))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H274].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  exact (zenon_Hb0 zenon_Ha9).
% 47.42/47.58  apply zenon_H271. apply refl_equal.
% 47.42/47.58  apply zenon_H271. apply refl_equal.
% 47.42/47.58  apply zenon_H5. apply refl_equal.
% 47.42/47.58  apply zenon_H271. apply refl_equal.
% 47.42/47.58  apply zenon_H271. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L98_ *)
% 47.42/47.58  assert (zenon_L99_ : ((op (e3) (e5)) = (e4)) -> ((op (e4) (e2)) = (e5)) -> (~((e4) = (op (e3) (op (e4) (e2))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_H99 zenon_Hb1 zenon_H275.
% 47.42/47.58  elim (classic ((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2))))); [ zenon_intro zenon_H276 | zenon_intro zenon_H277 ].
% 47.42/47.58  cut (((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2)))) = ((e4) = (op (e3) (op (e4) (e2))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H275.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H276.
% 47.42/47.58  cut (((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H277].
% 47.42/47.58  cut (((op (e3) (op (e4) (e2))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H278].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e5)) = (e4)) = ((op (e3) (op (e4) (e2))) = (e4))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H278.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H99.
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  cut (((op (e3) (e5)) = (op (e3) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H279].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2))))); [ zenon_intro zenon_H276 | zenon_intro zenon_H277 ].
% 47.42/47.58  cut (((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2)))) = ((op (e3) (e5)) = (op (e3) (op (e4) (e2))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H279.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H276.
% 47.42/47.58  cut (((op (e3) (op (e4) (e2))) = (op (e3) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H277].
% 47.42/47.58  cut (((op (e3) (op (e4) (e2))) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H27a].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  exact (zenon_Hb8 zenon_Hb1).
% 47.42/47.58  apply zenon_H277. apply refl_equal.
% 47.42/47.58  apply zenon_H277. apply refl_equal.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  apply zenon_H277. apply refl_equal.
% 47.42/47.58  apply zenon_H277. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L99_ *)
% 47.42/47.58  assert (zenon_L100_ : ((op (e3) (e1)) = (e5)) -> ((op (e4) (e3)) = (e1)) -> (~((e5) = (op (e3) (op (e4) (e3))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_H79 zenon_Hb9 zenon_H27b.
% 47.42/47.58  elim (classic ((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3))))); [ zenon_intro zenon_H27c | zenon_intro zenon_H27d ].
% 47.42/47.58  cut (((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3)))) = ((e5) = (op (e3) (op (e4) (e3))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H27b.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H27c.
% 47.42/47.58  cut (((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H27d].
% 47.42/47.58  cut (((op (e3) (op (e4) (e3))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H27e].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e1)) = (e5)) = ((op (e3) (op (e4) (e3))) = (e5))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H27e.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H79.
% 47.42/47.58  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.58  cut (((op (e3) (e1)) = (op (e3) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H27f].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3))))); [ zenon_intro zenon_H27c | zenon_intro zenon_H27d ].
% 47.42/47.58  cut (((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3)))) = ((op (e3) (e1)) = (op (e3) (op (e4) (e3))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H27f.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H27c.
% 47.42/47.58  cut (((op (e3) (op (e4) (e3))) = (op (e3) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H27d].
% 47.42/47.58  cut (((op (e3) (op (e4) (e3))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H280].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  exact (zenon_Hc0 zenon_Hb9).
% 47.42/47.58  apply zenon_H27d. apply refl_equal.
% 47.42/47.58  apply zenon_H27d. apply refl_equal.
% 47.42/47.58  apply zenon_H25. apply refl_equal.
% 47.42/47.58  apply zenon_H27d. apply refl_equal.
% 47.42/47.58  apply zenon_H27d. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L100_ *)
% 47.42/47.58  assert (zenon_L101_ : ((op (e3) (e3)) = (e2)) -> ((op (e4) (e4)) = (e3)) -> (~((e2) = (op (e3) (op (e4) (e4))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_H89 zenon_Hc1 zenon_H281.
% 47.42/47.58  elim (classic ((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4))))); [ zenon_intro zenon_H282 | zenon_intro zenon_H283 ].
% 47.42/47.58  cut (((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4)))) = ((e2) = (op (e3) (op (e4) (e4))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H281.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H282.
% 47.42/47.58  cut (((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H283].
% 47.42/47.58  cut (((op (e3) (op (e4) (e4))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H284].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e3)) = (e2)) = ((op (e3) (op (e4) (e4))) = (e2))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H284.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H89.
% 47.42/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.58  cut (((op (e3) (e3)) = (op (e3) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H285].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4))))); [ zenon_intro zenon_H282 | zenon_intro zenon_H283 ].
% 47.42/47.58  cut (((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4)))) = ((op (e3) (e3)) = (op (e3) (op (e4) (e4))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H285.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H282.
% 47.42/47.58  cut (((op (e3) (op (e4) (e4))) = (op (e3) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H283].
% 47.42/47.58  cut (((op (e3) (op (e4) (e4))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H286].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8].
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  exact (zenon_Hc8 zenon_Hc1).
% 47.42/47.58  apply zenon_H283. apply refl_equal.
% 47.42/47.58  apply zenon_H283. apply refl_equal.
% 47.42/47.58  apply zenon_H19. apply refl_equal.
% 47.42/47.58  apply zenon_H283. apply refl_equal.
% 47.42/47.58  apply zenon_H283. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L101_ *)
% 47.42/47.58  assert (zenon_L102_ : ((op (e3) (e0)) = (e3)) -> ((op (e4) (e5)) = (e0)) -> (~((e3) = (op (e3) (op (e4) (e5))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_H71 zenon_Hc9 zenon_H287.
% 47.42/47.58  elim (classic ((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5))))); [ zenon_intro zenon_H288 | zenon_intro zenon_H289 ].
% 47.42/47.58  cut (((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5)))) = ((e3) = (op (e3) (op (e4) (e5))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H287.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H288.
% 47.42/47.58  cut (((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H289].
% 47.42/47.58  cut (((op (e3) (op (e4) (e5))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H28a].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e4) (e5))) = (e3))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H28a.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H71.
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  cut (((op (e3) (e0)) = (op (e3) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H28b].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5))))); [ zenon_intro zenon_H288 | zenon_intro zenon_H289 ].
% 47.42/47.58  cut (((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5)))) = ((op (e3) (e0)) = (op (e3) (op (e4) (e5))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H28b.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H288.
% 47.42/47.58  cut (((op (e3) (op (e4) (e5))) = (op (e3) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H289].
% 47.42/47.58  cut (((op (e3) (op (e4) (e5))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H28c].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  exact (zenon_Hd0 zenon_Hc9).
% 47.42/47.58  apply zenon_H289. apply refl_equal.
% 47.42/47.58  apply zenon_H289. apply refl_equal.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  apply zenon_H289. apply refl_equal.
% 47.42/47.58  apply zenon_H289. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L102_ *)
% 47.42/47.58  assert (zenon_L103_ : ((op (e3) (e5)) = (e4)) -> ((op (e5) (e0)) = (e5)) -> (~((e4) = (op (e3) (op (e5) (e0))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_H99 zenon_Hd1 zenon_H28d.
% 47.42/47.58  elim (classic ((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0))))); [ zenon_intro zenon_H28e | zenon_intro zenon_H28f ].
% 47.42/47.58  cut (((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0)))) = ((e4) = (op (e3) (op (e5) (e0))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H28d.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H28e.
% 47.42/47.58  cut (((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H28f].
% 47.42/47.58  cut (((op (e3) (op (e5) (e0))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H290].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e5)) = (e4)) = ((op (e3) (op (e5) (e0))) = (e4))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H290.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H99.
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  cut (((op (e3) (e5)) = (op (e3) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H291].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0))))); [ zenon_intro zenon_H28e | zenon_intro zenon_H28f ].
% 47.42/47.58  cut (((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0)))) = ((op (e3) (e5)) = (op (e3) (op (e5) (e0))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H291.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H28e.
% 47.42/47.58  cut (((op (e3) (op (e5) (e0))) = (op (e3) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H28f].
% 47.42/47.58  cut (((op (e3) (op (e5) (e0))) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H292].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  exact (zenon_Hd8 zenon_Hd1).
% 47.42/47.58  apply zenon_H28f. apply refl_equal.
% 47.42/47.58  apply zenon_H28f. apply refl_equal.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  apply zenon_H28f. apply refl_equal.
% 47.42/47.58  apply zenon_H28f. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L103_ *)
% 47.42/47.58  assert (zenon_L104_ : ((op (e3) (e3)) = (e2)) -> ((op (e5) (e1)) = (e3)) -> (~((e2) = (op (e3) (op (e5) (e1))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_H89 zenon_Hd9 zenon_H293.
% 47.42/47.58  elim (classic ((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1))))); [ zenon_intro zenon_H294 | zenon_intro zenon_H295 ].
% 47.42/47.58  cut (((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1)))) = ((e2) = (op (e3) (op (e5) (e1))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H293.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H294.
% 47.42/47.58  cut (((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H295].
% 47.42/47.58  cut (((op (e3) (op (e5) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H296].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e3)) = (e2)) = ((op (e3) (op (e5) (e1))) = (e2))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H296.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H89.
% 47.42/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.58  cut (((op (e3) (e3)) = (op (e3) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H297].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1))))); [ zenon_intro zenon_H294 | zenon_intro zenon_H295 ].
% 47.42/47.58  cut (((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1)))) = ((op (e3) (e3)) = (op (e3) (op (e5) (e1))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H297.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H294.
% 47.42/47.58  cut (((op (e3) (op (e5) (e1))) = (op (e3) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H295].
% 47.42/47.58  cut (((op (e3) (op (e5) (e1))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H298].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  exact (zenon_He0 zenon_Hd9).
% 47.42/47.58  apply zenon_H295. apply refl_equal.
% 47.42/47.58  apply zenon_H295. apply refl_equal.
% 47.42/47.58  apply zenon_H19. apply refl_equal.
% 47.42/47.58  apply zenon_H295. apply refl_equal.
% 47.42/47.58  apply zenon_H295. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L104_ *)
% 47.42/47.58  assert (zenon_L105_ : ((op (e3) (e1)) = (e5)) -> ((op (e5) (e2)) = (e1)) -> (~((e5) = (op (e3) (op (e5) (e2))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_H79 zenon_He1 zenon_H299.
% 47.42/47.58  elim (classic ((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2))))); [ zenon_intro zenon_H29a | zenon_intro zenon_H29b ].
% 47.42/47.58  cut (((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2)))) = ((e5) = (op (e3) (op (e5) (e2))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H299.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H29a.
% 47.42/47.58  cut (((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H29b].
% 47.42/47.58  cut (((op (e3) (op (e5) (e2))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H29c].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e1)) = (e5)) = ((op (e3) (op (e5) (e2))) = (e5))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H29c.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H79.
% 47.42/47.58  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.58  cut (((op (e3) (e1)) = (op (e3) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H29d].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2))))); [ zenon_intro zenon_H29a | zenon_intro zenon_H29b ].
% 47.42/47.58  cut (((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2)))) = ((op (e3) (e1)) = (op (e3) (op (e5) (e2))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H29d.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H29a.
% 47.42/47.58  cut (((op (e3) (op (e5) (e2))) = (op (e3) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H29b].
% 47.42/47.58  cut (((op (e3) (op (e5) (e2))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H29e].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8].
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  exact (zenon_He8 zenon_He1).
% 47.42/47.58  apply zenon_H29b. apply refl_equal.
% 47.42/47.58  apply zenon_H29b. apply refl_equal.
% 47.42/47.58  apply zenon_H25. apply refl_equal.
% 47.42/47.58  apply zenon_H29b. apply refl_equal.
% 47.42/47.58  apply zenon_H29b. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L105_ *)
% 47.42/47.58  assert (zenon_L106_ : ((op (e3) (e4)) = (e1)) -> ((op (e5) (e3)) = (e4)) -> (~((e1) = (op (e3) (op (e5) (e3))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_H91 zenon_He9 zenon_H29f.
% 47.42/47.58  elim (classic ((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3))))); [ zenon_intro zenon_H2a0 | zenon_intro zenon_H2a1 ].
% 47.42/47.58  cut (((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3)))) = ((e1) = (op (e3) (op (e5) (e3))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H29f.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2a0.
% 47.42/47.58  cut (((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2a1].
% 47.42/47.58  cut (((op (e3) (op (e5) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H2a2].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e4)) = (e1)) = ((op (e3) (op (e5) (e3))) = (e1))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2a2.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H91.
% 47.42/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.58  cut (((op (e3) (e4)) = (op (e3) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2a3].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3))))); [ zenon_intro zenon_H2a0 | zenon_intro zenon_H2a1 ].
% 47.42/47.58  cut (((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3)))) = ((op (e3) (e4)) = (op (e3) (op (e5) (e3))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2a3.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2a0.
% 47.42/47.58  cut (((op (e3) (op (e5) (e3))) = (op (e3) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2a1].
% 47.42/47.58  cut (((op (e3) (op (e5) (e3))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H2a4].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  exact (zenon_Hf0 zenon_He9).
% 47.42/47.58  apply zenon_H2a1. apply refl_equal.
% 47.42/47.58  apply zenon_H2a1. apply refl_equal.
% 47.42/47.58  apply zenon_H6. apply refl_equal.
% 47.42/47.58  apply zenon_H2a1. apply refl_equal.
% 47.42/47.58  apply zenon_H2a1. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L106_ *)
% 47.42/47.58  assert (zenon_L107_ : ((op (e3) (e0)) = (e3)) -> ((op (e5) (e4)) = (e0)) -> (~((e3) = (op (e3) (op (e5) (e4))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_H71 zenon_Hf1 zenon_H2a5.
% 47.42/47.58  elim (classic ((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4))))); [ zenon_intro zenon_H2a6 | zenon_intro zenon_H2a7 ].
% 47.42/47.58  cut (((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4)))) = ((e3) = (op (e3) (op (e5) (e4))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2a5.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2a6.
% 47.42/47.58  cut (((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2a7].
% 47.42/47.58  cut (((op (e3) (op (e5) (e4))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H2a8].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e5) (e4))) = (e3))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2a8.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H71.
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  cut (((op (e3) (e0)) = (op (e3) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2a9].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4))))); [ zenon_intro zenon_H2a6 | zenon_intro zenon_H2a7 ].
% 47.42/47.58  cut (((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4)))) = ((op (e3) (e0)) = (op (e3) (op (e5) (e4))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2a9.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2a6.
% 47.42/47.58  cut (((op (e3) (op (e5) (e4))) = (op (e3) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2a7].
% 47.42/47.58  cut (((op (e3) (op (e5) (e4))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2aa].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8].
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  exact (zenon_Hf8 zenon_Hf1).
% 47.42/47.58  apply zenon_H2a7. apply refl_equal.
% 47.42/47.58  apply zenon_H2a7. apply refl_equal.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  apply zenon_H2a7. apply refl_equal.
% 47.42/47.58  apply zenon_H2a7. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L107_ *)
% 47.42/47.58  assert (zenon_L108_ : ((op (e3) (e2)) = (e0)) -> ((op (e5) (e5)) = (e2)) -> (~((e0) = (op (e3) (op (e5) (e5))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_H81 zenon_Hf9 zenon_H2ab.
% 47.42/47.58  elim (classic ((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5))))); [ zenon_intro zenon_H2ac | zenon_intro zenon_H2ad ].
% 47.42/47.58  cut (((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5)))) = ((e0) = (op (e3) (op (e5) (e5))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2ab.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2ac.
% 47.42/47.58  cut (((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2ad].
% 47.42/47.58  cut (((op (e3) (op (e5) (e5))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H2ae].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e2)) = (e0)) = ((op (e3) (op (e5) (e5))) = (e0))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2ae.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H81.
% 47.42/47.58  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.58  cut (((op (e3) (e2)) = (op (e3) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2af].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5))))); [ zenon_intro zenon_H2ac | zenon_intro zenon_H2ad ].
% 47.42/47.58  cut (((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5)))) = ((op (e3) (e2)) = (op (e3) (op (e5) (e5))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2af.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2ac.
% 47.42/47.58  cut (((op (e3) (op (e5) (e5))) = (op (e3) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2ad].
% 47.42/47.58  cut (((op (e3) (op (e5) (e5))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2b0].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  exact (zenon_H100 zenon_Hf9).
% 47.42/47.58  apply zenon_H2ad. apply refl_equal.
% 47.42/47.58  apply zenon_H2ad. apply refl_equal.
% 47.42/47.58  apply zenon_H5. apply refl_equal.
% 47.42/47.58  apply zenon_H2ad. apply refl_equal.
% 47.42/47.58  apply zenon_H2ad. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L108_ *)
% 47.42/47.58  assert (zenon_L109_ : ((op (e4) (e1)) = (e2)) -> ((op (e1) (e0)) = (e1)) -> (~((e2) = (op (e4) (op (e1) (e0))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Ha9 zenon_H8 zenon_H2b1.
% 47.42/47.58  elim (classic ((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0))))); [ zenon_intro zenon_H2b2 | zenon_intro zenon_H2b3 ].
% 47.42/47.58  cut (((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0)))) = ((e2) = (op (e4) (op (e1) (e0))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2b1.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2b2.
% 47.42/47.58  cut (((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2b3].
% 47.42/47.58  cut (((op (e4) (op (e1) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2b4].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e1)) = (e2)) = ((op (e4) (op (e1) (e0))) = (e2))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2b4.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Ha9.
% 47.42/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.58  cut (((op (e4) (e1)) = (op (e4) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2b5].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0))))); [ zenon_intro zenon_H2b2 | zenon_intro zenon_H2b3 ].
% 47.42/47.58  cut (((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0)))) = ((op (e4) (e1)) = (op (e4) (op (e1) (e0))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2b5.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2b2.
% 47.42/47.58  cut (((op (e4) (op (e1) (e0))) = (op (e4) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2b3].
% 47.42/47.58  cut (((op (e4) (op (e1) (e0))) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2b6].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_Hf zenon_H8).
% 47.42/47.58  apply zenon_H2b3. apply refl_equal.
% 47.42/47.58  apply zenon_H2b3. apply refl_equal.
% 47.42/47.58  apply zenon_H19. apply refl_equal.
% 47.42/47.58  apply zenon_H2b3. apply refl_equal.
% 47.42/47.58  apply zenon_H2b3. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L109_ *)
% 47.42/47.58  assert (zenon_L110_ : ((op (e4) (e0)) = (e4)) -> ((op (e1) (e1)) = (e0)) -> (~((e4) = (op (e4) (op (e1) (e1))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Ha1 zenon_H11 zenon_H2b7.
% 47.42/47.58  elim (classic ((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1))))); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b9 ].
% 47.42/47.58  cut (((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1)))) = ((e4) = (op (e4) (op (e1) (e1))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2b7.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2b8.
% 47.42/47.58  cut (((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2b9].
% 47.42/47.58  cut (((op (e4) (op (e1) (e1))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2ba].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e0)) = (e4)) = ((op (e4) (op (e1) (e1))) = (e4))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2ba.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Ha1.
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  cut (((op (e4) (e0)) = (op (e4) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2bb].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1))))); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b9 ].
% 47.42/47.58  cut (((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1)))) = ((op (e4) (e0)) = (op (e4) (op (e1) (e1))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2bb.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2b8.
% 47.42/47.58  cut (((op (e4) (op (e1) (e1))) = (op (e4) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2b9].
% 47.42/47.58  cut (((op (e4) (op (e1) (e1))) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2bc].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H18 zenon_H11).
% 47.42/47.58  apply zenon_H2b9. apply refl_equal.
% 47.42/47.58  apply zenon_H2b9. apply refl_equal.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  apply zenon_H2b9. apply refl_equal.
% 47.42/47.58  apply zenon_H2b9. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L110_ *)
% 47.42/47.58  assert (zenon_L111_ : ((op (e4) (e4)) = (e3)) -> ((op (e1) (e2)) = (e4)) -> (~((e3) = (op (e4) (op (e1) (e2))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Hc1 zenon_H1c zenon_H2bd.
% 47.42/47.58  elim (classic ((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2))))); [ zenon_intro zenon_H2be | zenon_intro zenon_H2bf ].
% 47.42/47.58  cut (((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2)))) = ((e3) = (op (e4) (op (e1) (e2))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2bd.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2be.
% 47.42/47.58  cut (((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2bf].
% 47.42/47.58  cut (((op (e4) (op (e1) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H2c0].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e4)) = (e3)) = ((op (e4) (op (e1) (e2))) = (e3))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2c0.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Hc1.
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  cut (((op (e4) (e4)) = (op (e4) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2c1].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2))))); [ zenon_intro zenon_H2be | zenon_intro zenon_H2bf ].
% 47.42/47.58  cut (((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2)))) = ((op (e4) (e4)) = (op (e4) (op (e1) (e2))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2c1.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2be.
% 47.42/47.58  cut (((op (e4) (op (e1) (e2))) = (op (e4) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2bf].
% 47.42/47.58  cut (((op (e4) (op (e1) (e2))) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H2c2].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H23 zenon_H1c).
% 47.42/47.58  apply zenon_H2bf. apply refl_equal.
% 47.42/47.58  apply zenon_H2bf. apply refl_equal.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  apply zenon_H2bf. apply refl_equal.
% 47.42/47.58  apply zenon_H2bf. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L111_ *)
% 47.42/47.58  assert (zenon_L112_ : ((op (e4) (e5)) = (e0)) -> ((op (e1) (e3)) = (e5)) -> (~((e0) = (op (e4) (op (e1) (e3))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Hc9 zenon_H27 zenon_H2c3.
% 47.42/47.58  elim (classic ((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3))))); [ zenon_intro zenon_H2c4 | zenon_intro zenon_H2c5 ].
% 47.42/47.58  cut (((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3)))) = ((e0) = (op (e4) (op (e1) (e3))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2c3.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2c4.
% 47.42/47.58  cut (((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2c5].
% 47.42/47.58  cut (((op (e4) (op (e1) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H2c6].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e5)) = (e0)) = ((op (e4) (op (e1) (e3))) = (e0))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2c6.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Hc9.
% 47.42/47.58  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.58  cut (((op (e4) (e5)) = (op (e4) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2c7].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3))))); [ zenon_intro zenon_H2c4 | zenon_intro zenon_H2c5 ].
% 47.42/47.58  cut (((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3)))) = ((op (e4) (e5)) = (op (e4) (op (e1) (e3))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2c7.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2c4.
% 47.42/47.58  cut (((op (e4) (op (e1) (e3))) = (op (e4) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2c5].
% 47.42/47.58  cut (((op (e4) (op (e1) (e3))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H2c8].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H2e zenon_H27).
% 47.42/47.58  apply zenon_H2c5. apply refl_equal.
% 47.42/47.58  apply zenon_H2c5. apply refl_equal.
% 47.42/47.58  apply zenon_H5. apply refl_equal.
% 47.42/47.58  apply zenon_H2c5. apply refl_equal.
% 47.42/47.58  apply zenon_H2c5. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L112_ *)
% 47.42/47.58  assert (zenon_L113_ : ((op (e4) (e2)) = (e5)) -> ((op (e1) (e4)) = (e2)) -> (~((e5) = (op (e4) (op (e1) (e4))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Hb1 zenon_H30 zenon_H2c9.
% 47.42/47.58  elim (classic ((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4))))); [ zenon_intro zenon_H2ca | zenon_intro zenon_H2cb ].
% 47.42/47.58  cut (((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4)))) = ((e5) = (op (e4) (op (e1) (e4))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2c9.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2ca.
% 47.42/47.58  cut (((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2cb].
% 47.42/47.58  cut (((op (e4) (op (e1) (e4))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2cc].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e2)) = (e5)) = ((op (e4) (op (e1) (e4))) = (e5))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2cc.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Hb1.
% 47.42/47.58  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.58  cut (((op (e4) (e2)) = (op (e4) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2cd].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4))))); [ zenon_intro zenon_H2ca | zenon_intro zenon_H2cb ].
% 47.42/47.58  cut (((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4)))) = ((op (e4) (e2)) = (op (e4) (op (e1) (e4))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2cd.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2ca.
% 47.42/47.58  cut (((op (e4) (op (e1) (e4))) = (op (e4) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2cb].
% 47.42/47.58  cut (((op (e4) (op (e1) (e4))) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2ce].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H37 zenon_H30).
% 47.42/47.58  apply zenon_H2cb. apply refl_equal.
% 47.42/47.58  apply zenon_H2cb. apply refl_equal.
% 47.42/47.58  apply zenon_H25. apply refl_equal.
% 47.42/47.58  apply zenon_H2cb. apply refl_equal.
% 47.42/47.58  apply zenon_H2cb. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L113_ *)
% 47.42/47.58  assert (zenon_L114_ : ((op (e4) (e3)) = (e1)) -> ((op (e1) (e5)) = (e3)) -> (~((e1) = (op (e4) (op (e1) (e5))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Hb9 zenon_H39 zenon_H2cf.
% 47.42/47.58  elim (classic ((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5))))); [ zenon_intro zenon_H2d0 | zenon_intro zenon_H2d1 ].
% 47.42/47.58  cut (((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5)))) = ((e1) = (op (e4) (op (e1) (e5))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2cf.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2d0.
% 47.42/47.58  cut (((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2d1].
% 47.42/47.58  cut (((op (e4) (op (e1) (e5))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H2d2].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e3)) = (e1)) = ((op (e4) (op (e1) (e5))) = (e1))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2d2.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Hb9.
% 47.42/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.58  cut (((op (e4) (e3)) = (op (e4) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2d3].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5))))); [ zenon_intro zenon_H2d0 | zenon_intro zenon_H2d1 ].
% 47.42/47.58  cut (((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5)))) = ((op (e4) (e3)) = (op (e4) (op (e1) (e5))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2d3.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2d0.
% 47.42/47.58  cut (((op (e4) (op (e1) (e5))) = (op (e4) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2d1].
% 47.42/47.58  cut (((op (e4) (op (e1) (e5))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2d4].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H40 zenon_H39).
% 47.42/47.58  apply zenon_H2d1. apply refl_equal.
% 47.42/47.58  apply zenon_H2d1. apply refl_equal.
% 47.42/47.58  apply zenon_H6. apply refl_equal.
% 47.42/47.58  apply zenon_H2d1. apply refl_equal.
% 47.42/47.58  apply zenon_H2d1. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L114_ *)
% 47.42/47.58  assert (zenon_L115_ : ((op (e4) (e2)) = (e5)) -> ((op (e2) (e0)) = (e2)) -> (~((e5) = (op (e4) (op (e2) (e0))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Hb1 zenon_H41 zenon_H2d5.
% 47.42/47.58  elim (classic ((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0))))); [ zenon_intro zenon_H2d6 | zenon_intro zenon_H2d7 ].
% 47.42/47.58  cut (((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0)))) = ((e5) = (op (e4) (op (e2) (e0))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2d5.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2d6.
% 47.42/47.58  cut (((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2d7].
% 47.42/47.58  cut (((op (e4) (op (e2) (e0))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2d8].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e2)) = (e5)) = ((op (e4) (op (e2) (e0))) = (e5))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2d8.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Hb1.
% 47.42/47.58  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.58  cut (((op (e4) (e2)) = (op (e4) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2d9].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0))))); [ zenon_intro zenon_H2d6 | zenon_intro zenon_H2d7 ].
% 47.42/47.58  cut (((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0)))) = ((op (e4) (e2)) = (op (e4) (op (e2) (e0))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2d9.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2d6.
% 47.42/47.58  cut (((op (e4) (op (e2) (e0))) = (op (e4) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2d7].
% 47.42/47.58  cut (((op (e4) (op (e2) (e0))) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2da].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H48 zenon_H41).
% 47.42/47.58  apply zenon_H2d7. apply refl_equal.
% 47.42/47.58  apply zenon_H2d7. apply refl_equal.
% 47.42/47.58  apply zenon_H25. apply refl_equal.
% 47.42/47.58  apply zenon_H2d7. apply refl_equal.
% 47.42/47.58  apply zenon_H2d7. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L115_ *)
% 47.42/47.58  assert (zenon_L116_ : ((op (e4) (e4)) = (e3)) -> ((op (e2) (e1)) = (e4)) -> (~((e3) = (op (e4) (op (e2) (e1))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Hc1 zenon_H49 zenon_H2db.
% 47.42/47.58  elim (classic ((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1))))); [ zenon_intro zenon_H2dc | zenon_intro zenon_H2dd ].
% 47.42/47.58  cut (((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1)))) = ((e3) = (op (e4) (op (e2) (e1))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2db.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2dc.
% 47.42/47.58  cut (((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2dd].
% 47.42/47.58  cut (((op (e4) (op (e2) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H2de].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e4)) = (e3)) = ((op (e4) (op (e2) (e1))) = (e3))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2de.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Hc1.
% 47.42/47.58  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.58  cut (((op (e4) (e4)) = (op (e4) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2df].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1))))); [ zenon_intro zenon_H2dc | zenon_intro zenon_H2dd ].
% 47.42/47.58  cut (((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1)))) = ((op (e4) (e4)) = (op (e4) (op (e2) (e1))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2df.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2dc.
% 47.42/47.58  cut (((op (e4) (op (e2) (e1))) = (op (e4) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2dd].
% 47.42/47.58  cut (((op (e4) (op (e2) (e1))) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H2e0].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H50 zenon_H49).
% 47.42/47.58  apply zenon_H2dd. apply refl_equal.
% 47.42/47.58  apply zenon_H2dd. apply refl_equal.
% 47.42/47.58  apply zenon_H24. apply refl_equal.
% 47.42/47.58  apply zenon_H2dd. apply refl_equal.
% 47.42/47.58  apply zenon_H2dd. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L116_ *)
% 47.42/47.58  assert (zenon_L117_ : ((op (e4) (e3)) = (e1)) -> ((op (e2) (e2)) = (e3)) -> (~((e1) = (op (e4) (op (e2) (e2))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Hb9 zenon_H51 zenon_H2e1.
% 47.42/47.58  elim (classic ((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2))))); [ zenon_intro zenon_H2e2 | zenon_intro zenon_H2e3 ].
% 47.42/47.58  cut (((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2)))) = ((e1) = (op (e4) (op (e2) (e2))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2e1.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2e2.
% 47.42/47.58  cut (((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2e3].
% 47.42/47.58  cut (((op (e4) (op (e2) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H2e4].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e3)) = (e1)) = ((op (e4) (op (e2) (e2))) = (e1))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2e4.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Hb9.
% 47.42/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.58  cut (((op (e4) (e3)) = (op (e4) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2e5].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2))))); [ zenon_intro zenon_H2e2 | zenon_intro zenon_H2e3 ].
% 47.42/47.58  cut (((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2)))) = ((op (e4) (e3)) = (op (e4) (op (e2) (e2))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2e5.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2e2.
% 47.42/47.58  cut (((op (e4) (op (e2) (e2))) = (op (e4) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2e3].
% 47.42/47.58  cut (((op (e4) (op (e2) (e2))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2e6].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H58 zenon_H51).
% 47.42/47.58  apply zenon_H2e3. apply refl_equal.
% 47.42/47.58  apply zenon_H2e3. apply refl_equal.
% 47.42/47.58  apply zenon_H6. apply refl_equal.
% 47.42/47.58  apply zenon_H2e3. apply refl_equal.
% 47.42/47.58  apply zenon_H2e3. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L117_ *)
% 47.42/47.58  assert (zenon_L118_ : ((op (e4) (e0)) = (e4)) -> ((op (e2) (e3)) = (e0)) -> (~((e4) = (op (e4) (op (e2) (e3))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Ha1 zenon_H59 zenon_H2e7.
% 47.42/47.58  elim (classic ((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3))))); [ zenon_intro zenon_H2e8 | zenon_intro zenon_H2e9 ].
% 47.42/47.58  cut (((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3)))) = ((e4) = (op (e4) (op (e2) (e3))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2e7.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2e8.
% 47.42/47.58  cut (((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2e9].
% 47.42/47.58  cut (((op (e4) (op (e2) (e3))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H2ea].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e0)) = (e4)) = ((op (e4) (op (e2) (e3))) = (e4))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2ea.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Ha1.
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  cut (((op (e4) (e0)) = (op (e4) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2eb].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3))))); [ zenon_intro zenon_H2e8 | zenon_intro zenon_H2e9 ].
% 47.42/47.58  cut (((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3)))) = ((op (e4) (e0)) = (op (e4) (op (e2) (e3))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2eb.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2e8.
% 47.42/47.58  cut (((op (e4) (op (e2) (e3))) = (op (e4) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2e9].
% 47.42/47.58  cut (((op (e4) (op (e2) (e3))) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2ec].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H60 zenon_H59).
% 47.42/47.58  apply zenon_H2e9. apply refl_equal.
% 47.42/47.58  apply zenon_H2e9. apply refl_equal.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  apply zenon_H2e9. apply refl_equal.
% 47.42/47.58  apply zenon_H2e9. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L118_ *)
% 47.42/47.58  assert (zenon_L119_ : ((op (e4) (e5)) = (e0)) -> ((op (e2) (e4)) = (e5)) -> (~((e0) = (op (e4) (op (e2) (e4))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Hc9 zenon_H61 zenon_H2ed.
% 47.42/47.58  elim (classic ((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4))))); [ zenon_intro zenon_H2ee | zenon_intro zenon_H2ef ].
% 47.42/47.58  cut (((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4)))) = ((e0) = (op (e4) (op (e2) (e4))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2ed.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2ee.
% 47.42/47.58  cut (((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2ef].
% 47.42/47.58  cut (((op (e4) (op (e2) (e4))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H2f0].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e5)) = (e0)) = ((op (e4) (op (e2) (e4))) = (e0))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2f0.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Hc9.
% 47.42/47.58  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.58  cut (((op (e4) (e5)) = (op (e4) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2f1].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4))))); [ zenon_intro zenon_H2ee | zenon_intro zenon_H2ef ].
% 47.42/47.58  cut (((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4)))) = ((op (e4) (e5)) = (op (e4) (op (e2) (e4))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2f1.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2ee.
% 47.42/47.58  cut (((op (e4) (op (e2) (e4))) = (op (e4) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2ef].
% 47.42/47.58  cut (((op (e4) (op (e2) (e4))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H2f2].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H68 zenon_H61).
% 47.42/47.58  apply zenon_H2ef. apply refl_equal.
% 47.42/47.58  apply zenon_H2ef. apply refl_equal.
% 47.42/47.58  apply zenon_H5. apply refl_equal.
% 47.42/47.58  apply zenon_H2ef. apply refl_equal.
% 47.42/47.58  apply zenon_H2ef. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L119_ *)
% 47.42/47.58  assert (zenon_L120_ : ((op (e4) (e1)) = (e2)) -> ((op (e2) (e5)) = (e1)) -> (~((e2) = (op (e4) (op (e2) (e5))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Ha9 zenon_H69 zenon_H2f3.
% 47.42/47.58  elim (classic ((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5))))); [ zenon_intro zenon_H2f4 | zenon_intro zenon_H2f5 ].
% 47.42/47.58  cut (((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5)))) = ((e2) = (op (e4) (op (e2) (e5))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2f3.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2f4.
% 47.42/47.58  cut (((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2f5].
% 47.42/47.58  cut (((op (e4) (op (e2) (e5))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2f6].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e1)) = (e2)) = ((op (e4) (op (e2) (e5))) = (e2))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2f6.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Ha9.
% 47.42/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.58  cut (((op (e4) (e1)) = (op (e4) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2f7].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5))))); [ zenon_intro zenon_H2f4 | zenon_intro zenon_H2f5 ].
% 47.42/47.58  cut (((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5)))) = ((op (e4) (e1)) = (op (e4) (op (e2) (e5))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2f7.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2f4.
% 47.42/47.58  cut (((op (e4) (op (e2) (e5))) = (op (e4) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2f5].
% 47.42/47.58  cut (((op (e4) (op (e2) (e5))) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2f8].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H70 zenon_H69).
% 47.42/47.58  apply zenon_H2f5. apply refl_equal.
% 47.42/47.58  apply zenon_H2f5. apply refl_equal.
% 47.42/47.58  apply zenon_H19. apply refl_equal.
% 47.42/47.58  apply zenon_H2f5. apply refl_equal.
% 47.42/47.58  apply zenon_H2f5. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L120_ *)
% 47.42/47.58  assert (zenon_L121_ : ((op (e4) (e3)) = (e1)) -> ((op (e3) (e0)) = (e3)) -> (~((e1) = (op (e4) (op (e3) (e0))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Hb9 zenon_H71 zenon_H2f9.
% 47.42/47.58  elim (classic ((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0))))); [ zenon_intro zenon_H2fa | zenon_intro zenon_H2fb ].
% 47.42/47.58  cut (((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0)))) = ((e1) = (op (e4) (op (e3) (e0))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2f9.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2fa.
% 47.42/47.58  cut (((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2fb].
% 47.42/47.58  cut (((op (e4) (op (e3) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H2fc].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e3)) = (e1)) = ((op (e4) (op (e3) (e0))) = (e1))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2fc.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Hb9.
% 47.42/47.58  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.58  cut (((op (e4) (e3)) = (op (e4) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2fd].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0))))); [ zenon_intro zenon_H2fa | zenon_intro zenon_H2fb ].
% 47.42/47.58  cut (((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0)))) = ((op (e4) (e3)) = (op (e4) (op (e3) (e0))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2fd.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H2fa.
% 47.42/47.58  cut (((op (e4) (op (e3) (e0))) = (op (e4) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2fb].
% 47.42/47.58  cut (((op (e4) (op (e3) (e0))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2fe].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H78 zenon_H71).
% 47.42/47.58  apply zenon_H2fb. apply refl_equal.
% 47.42/47.58  apply zenon_H2fb. apply refl_equal.
% 47.42/47.58  apply zenon_H6. apply refl_equal.
% 47.42/47.58  apply zenon_H2fb. apply refl_equal.
% 47.42/47.58  apply zenon_H2fb. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L121_ *)
% 47.42/47.58  assert (zenon_L122_ : ((op (e4) (e5)) = (e0)) -> ((op (e3) (e1)) = (e5)) -> (~((e0) = (op (e4) (op (e3) (e1))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Hc9 zenon_H79 zenon_H2ff.
% 47.42/47.58  elim (classic ((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1))))); [ zenon_intro zenon_H300 | zenon_intro zenon_H301 ].
% 47.42/47.58  cut (((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1)))) = ((e0) = (op (e4) (op (e3) (e1))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H2ff.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H300.
% 47.42/47.58  cut (((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H301].
% 47.42/47.58  cut (((op (e4) (op (e3) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H302].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e5)) = (e0)) = ((op (e4) (op (e3) (e1))) = (e0))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H302.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Hc9.
% 47.42/47.58  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.58  cut (((op (e4) (e5)) = (op (e4) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H303].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1))))); [ zenon_intro zenon_H300 | zenon_intro zenon_H301 ].
% 47.42/47.58  cut (((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1)))) = ((op (e4) (e5)) = (op (e4) (op (e3) (e1))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H303.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H300.
% 47.42/47.58  cut (((op (e4) (op (e3) (e1))) = (op (e4) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H301].
% 47.42/47.58  cut (((op (e4) (op (e3) (e1))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H304].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H80 zenon_H79).
% 47.42/47.58  apply zenon_H301. apply refl_equal.
% 47.42/47.58  apply zenon_H301. apply refl_equal.
% 47.42/47.58  apply zenon_H5. apply refl_equal.
% 47.42/47.58  apply zenon_H301. apply refl_equal.
% 47.42/47.58  apply zenon_H301. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L122_ *)
% 47.42/47.58  assert (zenon_L123_ : ((op (e4) (e0)) = (e4)) -> ((op (e3) (e2)) = (e0)) -> (~((e4) = (op (e4) (op (e3) (e2))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Ha1 zenon_H81 zenon_H305.
% 47.42/47.58  elim (classic ((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2))))); [ zenon_intro zenon_H306 | zenon_intro zenon_H307 ].
% 47.42/47.58  cut (((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2)))) = ((e4) = (op (e4) (op (e3) (e2))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H305.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H306.
% 47.42/47.58  cut (((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H307].
% 47.42/47.58  cut (((op (e4) (op (e3) (e2))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H308].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e0)) = (e4)) = ((op (e4) (op (e3) (e2))) = (e4))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H308.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Ha1.
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  cut (((op (e4) (e0)) = (op (e4) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H309].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2))))); [ zenon_intro zenon_H306 | zenon_intro zenon_H307 ].
% 47.42/47.58  cut (((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2)))) = ((op (e4) (e0)) = (op (e4) (op (e3) (e2))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H309.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H306.
% 47.42/47.58  cut (((op (e4) (op (e3) (e2))) = (op (e4) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H307].
% 47.42/47.58  cut (((op (e4) (op (e3) (e2))) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H30a].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H88 zenon_H81).
% 47.42/47.58  apply zenon_H307. apply refl_equal.
% 47.42/47.58  apply zenon_H307. apply refl_equal.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  apply zenon_H307. apply refl_equal.
% 47.42/47.58  apply zenon_H307. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L123_ *)
% 47.42/47.58  assert (zenon_L124_ : ((op (e4) (e2)) = (e5)) -> ((op (e3) (e3)) = (e2)) -> (~((e5) = (op (e4) (op (e3) (e3))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Hb1 zenon_H89 zenon_H30b.
% 47.42/47.58  elim (classic ((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3))))); [ zenon_intro zenon_H30c | zenon_intro zenon_H30d ].
% 47.42/47.58  cut (((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3)))) = ((e5) = (op (e4) (op (e3) (e3))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H30b.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H30c.
% 47.42/47.58  cut (((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H30d].
% 47.42/47.58  cut (((op (e4) (op (e3) (e3))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H30e].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e2)) = (e5)) = ((op (e4) (op (e3) (e3))) = (e5))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H30e.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Hb1.
% 47.42/47.58  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.58  cut (((op (e4) (e2)) = (op (e4) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H30f].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3))))); [ zenon_intro zenon_H30c | zenon_intro zenon_H30d ].
% 47.42/47.58  cut (((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3)))) = ((op (e4) (e2)) = (op (e4) (op (e3) (e3))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H30f.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H30c.
% 47.42/47.58  cut (((op (e4) (op (e3) (e3))) = (op (e4) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H30d].
% 47.42/47.58  cut (((op (e4) (op (e3) (e3))) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H310].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H90 zenon_H89).
% 47.42/47.58  apply zenon_H30d. apply refl_equal.
% 47.42/47.58  apply zenon_H30d. apply refl_equal.
% 47.42/47.58  apply zenon_H25. apply refl_equal.
% 47.42/47.58  apply zenon_H30d. apply refl_equal.
% 47.42/47.58  apply zenon_H30d. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L124_ *)
% 47.42/47.58  assert (zenon_L125_ : ((op (e4) (e1)) = (e2)) -> ((op (e3) (e4)) = (e1)) -> (~((e2) = (op (e4) (op (e3) (e4))))) -> False).
% 47.42/47.58  do 0 intro. intros zenon_Ha9 zenon_H91 zenon_H311.
% 47.42/47.58  elim (classic ((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4))))); [ zenon_intro zenon_H312 | zenon_intro zenon_H313 ].
% 47.42/47.58  cut (((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4)))) = ((e2) = (op (e4) (op (e3) (e4))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H311.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H312.
% 47.42/47.58  cut (((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H313].
% 47.42/47.58  cut (((op (e4) (op (e3) (e4))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H314].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e4) (e1)) = (e2)) = ((op (e4) (op (e3) (e4))) = (e2))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H314.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_Ha9.
% 47.42/47.58  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.58  cut (((op (e4) (e1)) = (op (e4) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H315].
% 47.42/47.58  congruence.
% 47.42/47.58  elim (classic ((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4))))); [ zenon_intro zenon_H312 | zenon_intro zenon_H313 ].
% 47.42/47.58  cut (((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4)))) = ((op (e4) (e1)) = (op (e4) (op (e3) (e4))))).
% 47.42/47.58  intro zenon_D_pnotp.
% 47.42/47.58  apply zenon_H315.
% 47.42/47.58  rewrite <- zenon_D_pnotp.
% 47.42/47.58  exact zenon_H312.
% 47.42/47.58  cut (((op (e4) (op (e3) (e4))) = (op (e4) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H313].
% 47.42/47.58  cut (((op (e4) (op (e3) (e4))) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H316].
% 47.42/47.58  congruence.
% 47.42/47.58  cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 47.42/47.58  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.58  congruence.
% 47.42/47.58  apply zenon_H1a. apply refl_equal.
% 47.42/47.58  exact (zenon_H98 zenon_H91).
% 47.42/47.58  apply zenon_H313. apply refl_equal.
% 47.42/47.58  apply zenon_H313. apply refl_equal.
% 47.42/47.58  apply zenon_H19. apply refl_equal.
% 47.42/47.58  apply zenon_H313. apply refl_equal.
% 47.42/47.58  apply zenon_H313. apply refl_equal.
% 47.42/47.58  (* end of lemma zenon_L125_ *)
% 47.42/47.58  assert (zenon_L126_ : ((op (e4) (e4)) = (e3)) -> ((op (e3) (e5)) = (e4)) -> (~((e3) = (op (e4) (op (e3) (e5))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hc1 zenon_H99 zenon_H317.
% 47.42/47.59  elim (classic ((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5))))); [ zenon_intro zenon_H318 | zenon_intro zenon_H319 ].
% 47.42/47.59  cut (((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5)))) = ((e3) = (op (e4) (op (e3) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H317.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H318.
% 47.42/47.59  cut (((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H319].
% 47.42/47.59  cut (((op (e4) (op (e3) (e5))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H31a].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e4) (e4)) = (e3)) = ((op (e4) (op (e3) (e5))) = (e3))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H31a.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hc1.
% 47.42/47.59  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.59  cut (((op (e4) (e4)) = (op (e4) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H31b].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5))))); [ zenon_intro zenon_H318 | zenon_intro zenon_H319 ].
% 47.42/47.59  cut (((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5)))) = ((op (e4) (e4)) = (op (e4) (op (e3) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H31b.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H318.
% 47.42/47.59  cut (((op (e4) (op (e3) (e5))) = (op (e4) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H319].
% 47.42/47.59  cut (((op (e4) (op (e3) (e5))) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H31c].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  exact (zenon_Ha0 zenon_H99).
% 47.42/47.59  apply zenon_H319. apply refl_equal.
% 47.42/47.59  apply zenon_H319. apply refl_equal.
% 47.42/47.59  apply zenon_H24. apply refl_equal.
% 47.42/47.59  apply zenon_H319. apply refl_equal.
% 47.42/47.59  apply zenon_H319. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L126_ *)
% 47.42/47.59  assert (zenon_L127_ : ((op (e4) (e4)) = (e3)) -> ((op (e4) (e0)) = (e4)) -> (~((e3) = (op (e4) (op (e4) (e0))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hc1 zenon_Ha1 zenon_H31d.
% 47.42/47.59  elim (classic ((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0))))); [ zenon_intro zenon_H31e | zenon_intro zenon_H31f ].
% 47.42/47.59  cut (((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0)))) = ((e3) = (op (e4) (op (e4) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H31d.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H31e.
% 47.42/47.59  cut (((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H31f].
% 47.42/47.59  cut (((op (e4) (op (e4) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H320].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e4) (e4)) = (e3)) = ((op (e4) (op (e4) (e0))) = (e3))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H320.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hc1.
% 47.42/47.59  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.59  cut (((op (e4) (e4)) = (op (e4) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H321].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0))))); [ zenon_intro zenon_H31e | zenon_intro zenon_H31f ].
% 47.42/47.59  cut (((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0)))) = ((op (e4) (e4)) = (op (e4) (op (e4) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H321.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H31e.
% 47.42/47.59  cut (((op (e4) (op (e4) (e0))) = (op (e4) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H31f].
% 47.42/47.59  cut (((op (e4) (op (e4) (e0))) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H322].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  exact (zenon_Ha8 zenon_Ha1).
% 47.42/47.59  apply zenon_H31f. apply refl_equal.
% 47.42/47.59  apply zenon_H31f. apply refl_equal.
% 47.42/47.59  apply zenon_H24. apply refl_equal.
% 47.42/47.59  apply zenon_H31f. apply refl_equal.
% 47.42/47.59  apply zenon_H31f. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L127_ *)
% 47.42/47.59  assert (zenon_L128_ : ((op (e4) (e2)) = (e5)) -> ((op (e4) (e1)) = (e2)) -> (~((e5) = (op (e4) (op (e4) (e1))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hb1 zenon_Ha9 zenon_H323.
% 47.42/47.59  elim (classic ((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1))))); [ zenon_intro zenon_H324 | zenon_intro zenon_H325 ].
% 47.42/47.59  cut (((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1)))) = ((e5) = (op (e4) (op (e4) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H323.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H324.
% 47.42/47.59  cut (((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H325].
% 47.42/47.59  cut (((op (e4) (op (e4) (e1))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H326].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e4) (e2)) = (e5)) = ((op (e4) (op (e4) (e1))) = (e5))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H326.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hb1.
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  cut (((op (e4) (e2)) = (op (e4) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H327].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1))))); [ zenon_intro zenon_H324 | zenon_intro zenon_H325 ].
% 47.42/47.59  cut (((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1)))) = ((op (e4) (e2)) = (op (e4) (op (e4) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H327.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H324.
% 47.42/47.59  cut (((op (e4) (op (e4) (e1))) = (op (e4) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H325].
% 47.42/47.59  cut (((op (e4) (op (e4) (e1))) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H328].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  exact (zenon_Hb0 zenon_Ha9).
% 47.42/47.59  apply zenon_H325. apply refl_equal.
% 47.42/47.59  apply zenon_H325. apply refl_equal.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  apply zenon_H325. apply refl_equal.
% 47.42/47.59  apply zenon_H325. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L128_ *)
% 47.42/47.59  assert (zenon_L129_ : ((op (e4) (e5)) = (e0)) -> ((op (e4) (e2)) = (e5)) -> (~((e0) = (op (e4) (op (e4) (e2))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hc9 zenon_Hb1 zenon_H329.
% 47.42/47.59  elim (classic ((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2))))); [ zenon_intro zenon_H32a | zenon_intro zenon_H32b ].
% 47.42/47.59  cut (((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2)))) = ((e0) = (op (e4) (op (e4) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H329.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H32a.
% 47.42/47.59  cut (((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H32b].
% 47.42/47.59  cut (((op (e4) (op (e4) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H32c].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e4) (e5)) = (e0)) = ((op (e4) (op (e4) (e2))) = (e0))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H32c.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hc9.
% 47.42/47.59  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.59  cut (((op (e4) (e5)) = (op (e4) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H32d].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2))))); [ zenon_intro zenon_H32a | zenon_intro zenon_H32b ].
% 47.42/47.59  cut (((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2)))) = ((op (e4) (e5)) = (op (e4) (op (e4) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H32d.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H32a.
% 47.42/47.59  cut (((op (e4) (op (e4) (e2))) = (op (e4) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H32b].
% 47.42/47.59  cut (((op (e4) (op (e4) (e2))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H32e].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  exact (zenon_Hb8 zenon_Hb1).
% 47.42/47.59  apply zenon_H32b. apply refl_equal.
% 47.42/47.59  apply zenon_H32b. apply refl_equal.
% 47.42/47.59  apply zenon_H5. apply refl_equal.
% 47.42/47.59  apply zenon_H32b. apply refl_equal.
% 47.42/47.59  apply zenon_H32b. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L129_ *)
% 47.42/47.59  assert (zenon_L130_ : ((op (e4) (e1)) = (e2)) -> ((op (e4) (e3)) = (e1)) -> (~((e2) = (op (e4) (op (e4) (e3))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Ha9 zenon_Hb9 zenon_H32f.
% 47.42/47.59  elim (classic ((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3))))); [ zenon_intro zenon_H330 | zenon_intro zenon_H331 ].
% 47.42/47.59  cut (((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3)))) = ((e2) = (op (e4) (op (e4) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H32f.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H330.
% 47.42/47.59  cut (((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H331].
% 47.42/47.59  cut (((op (e4) (op (e4) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H332].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e4) (e1)) = (e2)) = ((op (e4) (op (e4) (e3))) = (e2))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H332.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Ha9.
% 47.42/47.59  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.59  cut (((op (e4) (e1)) = (op (e4) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H333].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3))))); [ zenon_intro zenon_H330 | zenon_intro zenon_H331 ].
% 47.42/47.59  cut (((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3)))) = ((op (e4) (e1)) = (op (e4) (op (e4) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H333.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H330.
% 47.42/47.59  cut (((op (e4) (op (e4) (e3))) = (op (e4) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H331].
% 47.42/47.59  cut (((op (e4) (op (e4) (e3))) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H334].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  exact (zenon_Hc0 zenon_Hb9).
% 47.42/47.59  apply zenon_H331. apply refl_equal.
% 47.42/47.59  apply zenon_H331. apply refl_equal.
% 47.42/47.59  apply zenon_H19. apply refl_equal.
% 47.42/47.59  apply zenon_H331. apply refl_equal.
% 47.42/47.59  apply zenon_H331. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L130_ *)
% 47.42/47.59  assert (zenon_L131_ : ((op (e4) (e3)) = (e1)) -> ((op (e4) (e4)) = (e3)) -> (~((e1) = (op (e4) (op (e4) (e4))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hb9 zenon_Hc1 zenon_H335.
% 47.42/47.59  elim (classic ((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4))))); [ zenon_intro zenon_H336 | zenon_intro zenon_H337 ].
% 47.42/47.59  cut (((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4)))) = ((e1) = (op (e4) (op (e4) (e4))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H335.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H336.
% 47.42/47.59  cut (((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H337].
% 47.42/47.59  cut (((op (e4) (op (e4) (e4))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H338].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e4) (e3)) = (e1)) = ((op (e4) (op (e4) (e4))) = (e1))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H338.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hb9.
% 47.42/47.59  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.59  cut (((op (e4) (e3)) = (op (e4) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H339].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4))))); [ zenon_intro zenon_H336 | zenon_intro zenon_H337 ].
% 47.42/47.59  cut (((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4)))) = ((op (e4) (e3)) = (op (e4) (op (e4) (e4))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H339.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H336.
% 47.42/47.59  cut (((op (e4) (op (e4) (e4))) = (op (e4) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H337].
% 47.42/47.59  cut (((op (e4) (op (e4) (e4))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H33a].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8].
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  exact (zenon_Hc8 zenon_Hc1).
% 47.42/47.59  apply zenon_H337. apply refl_equal.
% 47.42/47.59  apply zenon_H337. apply refl_equal.
% 47.42/47.59  apply zenon_H6. apply refl_equal.
% 47.42/47.59  apply zenon_H337. apply refl_equal.
% 47.42/47.59  apply zenon_H337. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L131_ *)
% 47.42/47.59  assert (zenon_L132_ : ((op (e4) (e0)) = (e4)) -> ((op (e4) (e5)) = (e0)) -> (~((e4) = (op (e4) (op (e4) (e5))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Ha1 zenon_Hc9 zenon_H33b.
% 47.42/47.59  elim (classic ((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5))))); [ zenon_intro zenon_H33c | zenon_intro zenon_H33d ].
% 47.42/47.59  cut (((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5)))) = ((e4) = (op (e4) (op (e4) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H33b.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H33c.
% 47.42/47.59  cut (((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H33d].
% 47.42/47.59  cut (((op (e4) (op (e4) (e5))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H33e].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e4) (e0)) = (e4)) = ((op (e4) (op (e4) (e5))) = (e4))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H33e.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Ha1.
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  cut (((op (e4) (e0)) = (op (e4) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H33f].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5))))); [ zenon_intro zenon_H33c | zenon_intro zenon_H33d ].
% 47.42/47.59  cut (((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5)))) = ((op (e4) (e0)) = (op (e4) (op (e4) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H33f.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H33c.
% 47.42/47.59  cut (((op (e4) (op (e4) (e5))) = (op (e4) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H33d].
% 47.42/47.59  cut (((op (e4) (op (e4) (e5))) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H340].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  exact (zenon_Hd0 zenon_Hc9).
% 47.42/47.59  apply zenon_H33d. apply refl_equal.
% 47.42/47.59  apply zenon_H33d. apply refl_equal.
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  apply zenon_H33d. apply refl_equal.
% 47.42/47.59  apply zenon_H33d. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L132_ *)
% 47.42/47.59  assert (zenon_L133_ : ((op (e5) (e1)) = (e3)) -> ((op (e1) (e0)) = (e1)) -> (~((e3) = (op (e5) (op (e1) (e0))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hd9 zenon_H8 zenon_H341.
% 47.42/47.59  elim (classic ((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0))))); [ zenon_intro zenon_H342 | zenon_intro zenon_H343 ].
% 47.42/47.59  cut (((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0)))) = ((e3) = (op (e5) (op (e1) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H341.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H342.
% 47.42/47.59  cut (((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H343].
% 47.42/47.59  cut (((op (e5) (op (e1) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H344].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e1)) = (e3)) = ((op (e5) (op (e1) (e0))) = (e3))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H344.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hd9.
% 47.42/47.59  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.59  cut (((op (e5) (e1)) = (op (e5) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H345].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0))))); [ zenon_intro zenon_H342 | zenon_intro zenon_H343 ].
% 47.42/47.59  cut (((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0)))) = ((op (e5) (e1)) = (op (e5) (op (e1) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H345.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H342.
% 47.42/47.59  cut (((op (e5) (op (e1) (e0))) = (op (e5) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H343].
% 47.42/47.59  cut (((op (e5) (op (e1) (e0))) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H346].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_Hf zenon_H8).
% 47.42/47.59  apply zenon_H343. apply refl_equal.
% 47.42/47.59  apply zenon_H343. apply refl_equal.
% 47.42/47.59  apply zenon_H24. apply refl_equal.
% 47.42/47.59  apply zenon_H343. apply refl_equal.
% 47.42/47.59  apply zenon_H343. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L133_ *)
% 47.42/47.59  assert (zenon_L134_ : ((op (e5) (e0)) = (e5)) -> ((op (e1) (e1)) = (e0)) -> (~((e5) = (op (e5) (op (e1) (e1))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hd1 zenon_H11 zenon_H347.
% 47.42/47.59  elim (classic ((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1))))); [ zenon_intro zenon_H348 | zenon_intro zenon_H349 ].
% 47.42/47.59  cut (((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1)))) = ((e5) = (op (e5) (op (e1) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H347.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H348.
% 47.42/47.59  cut (((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H349].
% 47.42/47.59  cut (((op (e5) (op (e1) (e1))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H34a].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e0)) = (e5)) = ((op (e5) (op (e1) (e1))) = (e5))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H34a.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hd1.
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  cut (((op (e5) (e0)) = (op (e5) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H34b].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1))))); [ zenon_intro zenon_H348 | zenon_intro zenon_H349 ].
% 47.42/47.59  cut (((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1)))) = ((op (e5) (e0)) = (op (e5) (op (e1) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H34b.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H348.
% 47.42/47.59  cut (((op (e5) (op (e1) (e1))) = (op (e5) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H349].
% 47.42/47.59  cut (((op (e5) (op (e1) (e1))) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H34c].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H18 zenon_H11).
% 47.42/47.59  apply zenon_H349. apply refl_equal.
% 47.42/47.59  apply zenon_H349. apply refl_equal.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  apply zenon_H349. apply refl_equal.
% 47.42/47.59  apply zenon_H349. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L134_ *)
% 47.42/47.59  assert (zenon_L135_ : ((op (e5) (e4)) = (e0)) -> ((op (e1) (e2)) = (e4)) -> (~((e0) = (op (e5) (op (e1) (e2))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hf1 zenon_H1c zenon_H34d.
% 47.42/47.59  elim (classic ((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2))))); [ zenon_intro zenon_H34e | zenon_intro zenon_H34f ].
% 47.42/47.59  cut (((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2)))) = ((e0) = (op (e5) (op (e1) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H34d.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H34e.
% 47.42/47.59  cut (((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H34f].
% 47.42/47.59  cut (((op (e5) (op (e1) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H350].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e4)) = (e0)) = ((op (e5) (op (e1) (e2))) = (e0))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H350.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hf1.
% 47.42/47.59  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.59  cut (((op (e5) (e4)) = (op (e5) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H351].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2))))); [ zenon_intro zenon_H34e | zenon_intro zenon_H34f ].
% 47.42/47.59  cut (((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2)))) = ((op (e5) (e4)) = (op (e5) (op (e1) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H351.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H34e.
% 47.42/47.59  cut (((op (e5) (op (e1) (e2))) = (op (e5) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H34f].
% 47.42/47.59  cut (((op (e5) (op (e1) (e2))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H352].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H23 zenon_H1c).
% 47.42/47.59  apply zenon_H34f. apply refl_equal.
% 47.42/47.59  apply zenon_H34f. apply refl_equal.
% 47.42/47.59  apply zenon_H5. apply refl_equal.
% 47.42/47.59  apply zenon_H34f. apply refl_equal.
% 47.42/47.59  apply zenon_H34f. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L135_ *)
% 47.42/47.59  assert (zenon_L136_ : ((op (e5) (e5)) = (e2)) -> ((op (e1) (e3)) = (e5)) -> (~((e2) = (op (e5) (op (e1) (e3))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hf9 zenon_H27 zenon_H353.
% 47.42/47.59  elim (classic ((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3))))); [ zenon_intro zenon_H354 | zenon_intro zenon_H355 ].
% 47.42/47.59  cut (((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3)))) = ((e2) = (op (e5) (op (e1) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H353.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H354.
% 47.42/47.59  cut (((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H355].
% 47.42/47.59  cut (((op (e5) (op (e1) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H356].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e5)) = (e2)) = ((op (e5) (op (e1) (e3))) = (e2))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H356.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hf9.
% 47.42/47.59  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.59  cut (((op (e5) (e5)) = (op (e5) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H357].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3))))); [ zenon_intro zenon_H354 | zenon_intro zenon_H355 ].
% 47.42/47.59  cut (((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3)))) = ((op (e5) (e5)) = (op (e5) (op (e1) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H357.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H354.
% 47.42/47.59  cut (((op (e5) (op (e1) (e3))) = (op (e5) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H355].
% 47.42/47.59  cut (((op (e5) (op (e1) (e3))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H358].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H2e zenon_H27).
% 47.42/47.59  apply zenon_H355. apply refl_equal.
% 47.42/47.59  apply zenon_H355. apply refl_equal.
% 47.42/47.59  apply zenon_H19. apply refl_equal.
% 47.42/47.59  apply zenon_H355. apply refl_equal.
% 47.42/47.59  apply zenon_H355. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L136_ *)
% 47.42/47.59  assert (zenon_L137_ : ((op (e5) (e2)) = (e1)) -> ((op (e1) (e4)) = (e2)) -> (~((e1) = (op (e5) (op (e1) (e4))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_He1 zenon_H30 zenon_H359.
% 47.42/47.59  elim (classic ((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4))))); [ zenon_intro zenon_H35a | zenon_intro zenon_H35b ].
% 47.42/47.59  cut (((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4)))) = ((e1) = (op (e5) (op (e1) (e4))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H359.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H35a.
% 47.42/47.59  cut (((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H35b].
% 47.42/47.59  cut (((op (e5) (op (e1) (e4))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H35c].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e2)) = (e1)) = ((op (e5) (op (e1) (e4))) = (e1))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H35c.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_He1.
% 47.42/47.59  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.59  cut (((op (e5) (e2)) = (op (e5) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H35d].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4))))); [ zenon_intro zenon_H35a | zenon_intro zenon_H35b ].
% 47.42/47.59  cut (((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4)))) = ((op (e5) (e2)) = (op (e5) (op (e1) (e4))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H35d.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H35a.
% 47.42/47.59  cut (((op (e5) (op (e1) (e4))) = (op (e5) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H35b].
% 47.42/47.59  cut (((op (e5) (op (e1) (e4))) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H35e].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H37 zenon_H30).
% 47.42/47.59  apply zenon_H35b. apply refl_equal.
% 47.42/47.59  apply zenon_H35b. apply refl_equal.
% 47.42/47.59  apply zenon_H6. apply refl_equal.
% 47.42/47.59  apply zenon_H35b. apply refl_equal.
% 47.42/47.59  apply zenon_H35b. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L137_ *)
% 47.42/47.59  assert (zenon_L138_ : ((op (e5) (e3)) = (e4)) -> ((op (e1) (e5)) = (e3)) -> (~((e4) = (op (e5) (op (e1) (e5))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_He9 zenon_H39 zenon_H35f.
% 47.42/47.59  elim (classic ((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5))))); [ zenon_intro zenon_H360 | zenon_intro zenon_H361 ].
% 47.42/47.59  cut (((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5)))) = ((e4) = (op (e5) (op (e1) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H35f.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H360.
% 47.42/47.59  cut (((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H361].
% 47.42/47.59  cut (((op (e5) (op (e1) (e5))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H362].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e3)) = (e4)) = ((op (e5) (op (e1) (e5))) = (e4))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H362.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_He9.
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  cut (((op (e5) (e3)) = (op (e5) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H363].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5))))); [ zenon_intro zenon_H360 | zenon_intro zenon_H361 ].
% 47.42/47.59  cut (((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5)))) = ((op (e5) (e3)) = (op (e5) (op (e1) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H363.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H360.
% 47.42/47.59  cut (((op (e5) (op (e1) (e5))) = (op (e5) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H361].
% 47.42/47.59  cut (((op (e5) (op (e1) (e5))) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H364].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H40 zenon_H39).
% 47.42/47.59  apply zenon_H361. apply refl_equal.
% 47.42/47.59  apply zenon_H361. apply refl_equal.
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  apply zenon_H361. apply refl_equal.
% 47.42/47.59  apply zenon_H361. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L138_ *)
% 47.42/47.59  assert (zenon_L139_ : ((op (e5) (e2)) = (e1)) -> ((op (e2) (e0)) = (e2)) -> (~((e1) = (op (e5) (op (e2) (e0))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_He1 zenon_H41 zenon_H365.
% 47.42/47.59  elim (classic ((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0))))); [ zenon_intro zenon_H366 | zenon_intro zenon_H367 ].
% 47.42/47.59  cut (((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0)))) = ((e1) = (op (e5) (op (e2) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H365.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H366.
% 47.42/47.59  cut (((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H367].
% 47.42/47.59  cut (((op (e5) (op (e2) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H368].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e2)) = (e1)) = ((op (e5) (op (e2) (e0))) = (e1))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H368.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_He1.
% 47.42/47.59  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.59  cut (((op (e5) (e2)) = (op (e5) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H369].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0))))); [ zenon_intro zenon_H366 | zenon_intro zenon_H367 ].
% 47.42/47.59  cut (((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0)))) = ((op (e5) (e2)) = (op (e5) (op (e2) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H369.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H366.
% 47.42/47.59  cut (((op (e5) (op (e2) (e0))) = (op (e5) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H367].
% 47.42/47.59  cut (((op (e5) (op (e2) (e0))) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H36a].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H48 zenon_H41).
% 47.42/47.59  apply zenon_H367. apply refl_equal.
% 47.42/47.59  apply zenon_H367. apply refl_equal.
% 47.42/47.59  apply zenon_H6. apply refl_equal.
% 47.42/47.59  apply zenon_H367. apply refl_equal.
% 47.42/47.59  apply zenon_H367. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L139_ *)
% 47.42/47.59  assert (zenon_L140_ : ((op (e5) (e4)) = (e0)) -> ((op (e2) (e1)) = (e4)) -> (~((e0) = (op (e5) (op (e2) (e1))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hf1 zenon_H49 zenon_H36b.
% 47.42/47.59  elim (classic ((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1))))); [ zenon_intro zenon_H36c | zenon_intro zenon_H36d ].
% 47.42/47.59  cut (((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1)))) = ((e0) = (op (e5) (op (e2) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H36b.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H36c.
% 47.42/47.59  cut (((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H36d].
% 47.42/47.59  cut (((op (e5) (op (e2) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H36e].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e4)) = (e0)) = ((op (e5) (op (e2) (e1))) = (e0))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H36e.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hf1.
% 47.42/47.59  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.59  cut (((op (e5) (e4)) = (op (e5) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H36f].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1))))); [ zenon_intro zenon_H36c | zenon_intro zenon_H36d ].
% 47.42/47.59  cut (((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1)))) = ((op (e5) (e4)) = (op (e5) (op (e2) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H36f.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H36c.
% 47.42/47.59  cut (((op (e5) (op (e2) (e1))) = (op (e5) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H36d].
% 47.42/47.59  cut (((op (e5) (op (e2) (e1))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H370].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H50 zenon_H49).
% 47.42/47.59  apply zenon_H36d. apply refl_equal.
% 47.42/47.59  apply zenon_H36d. apply refl_equal.
% 47.42/47.59  apply zenon_H5. apply refl_equal.
% 47.42/47.59  apply zenon_H36d. apply refl_equal.
% 47.42/47.59  apply zenon_H36d. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L140_ *)
% 47.42/47.59  assert (zenon_L141_ : ((op (e5) (e3)) = (e4)) -> ((op (e2) (e2)) = (e3)) -> (~((e4) = (op (e5) (op (e2) (e2))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_He9 zenon_H51 zenon_H371.
% 47.42/47.59  elim (classic ((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2))))); [ zenon_intro zenon_H372 | zenon_intro zenon_H373 ].
% 47.42/47.59  cut (((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2)))) = ((e4) = (op (e5) (op (e2) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H371.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H372.
% 47.42/47.59  cut (((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H373].
% 47.42/47.59  cut (((op (e5) (op (e2) (e2))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H374].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e3)) = (e4)) = ((op (e5) (op (e2) (e2))) = (e4))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H374.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_He9.
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  cut (((op (e5) (e3)) = (op (e5) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H375].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2))))); [ zenon_intro zenon_H372 | zenon_intro zenon_H373 ].
% 47.42/47.59  cut (((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2)))) = ((op (e5) (e3)) = (op (e5) (op (e2) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H375.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H372.
% 47.42/47.59  cut (((op (e5) (op (e2) (e2))) = (op (e5) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H373].
% 47.42/47.59  cut (((op (e5) (op (e2) (e2))) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H376].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H58 zenon_H51).
% 47.42/47.59  apply zenon_H373. apply refl_equal.
% 47.42/47.59  apply zenon_H373. apply refl_equal.
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  apply zenon_H373. apply refl_equal.
% 47.42/47.59  apply zenon_H373. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L141_ *)
% 47.42/47.59  assert (zenon_L142_ : ((op (e5) (e0)) = (e5)) -> ((op (e2) (e3)) = (e0)) -> (~((e5) = (op (e5) (op (e2) (e3))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hd1 zenon_H59 zenon_H377.
% 47.42/47.59  elim (classic ((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3))))); [ zenon_intro zenon_H378 | zenon_intro zenon_H379 ].
% 47.42/47.59  cut (((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3)))) = ((e5) = (op (e5) (op (e2) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H377.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H378.
% 47.42/47.59  cut (((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H379].
% 47.42/47.59  cut (((op (e5) (op (e2) (e3))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H37a].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e0)) = (e5)) = ((op (e5) (op (e2) (e3))) = (e5))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H37a.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hd1.
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  cut (((op (e5) (e0)) = (op (e5) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H37b].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3))))); [ zenon_intro zenon_H378 | zenon_intro zenon_H379 ].
% 47.42/47.59  cut (((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3)))) = ((op (e5) (e0)) = (op (e5) (op (e2) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H37b.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H378.
% 47.42/47.59  cut (((op (e5) (op (e2) (e3))) = (op (e5) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H379].
% 47.42/47.59  cut (((op (e5) (op (e2) (e3))) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H37c].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H60 zenon_H59).
% 47.42/47.59  apply zenon_H379. apply refl_equal.
% 47.42/47.59  apply zenon_H379. apply refl_equal.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  apply zenon_H379. apply refl_equal.
% 47.42/47.59  apply zenon_H379. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L142_ *)
% 47.42/47.59  assert (zenon_L143_ : ((op (e5) (e5)) = (e2)) -> ((op (e2) (e4)) = (e5)) -> (~((e2) = (op (e5) (op (e2) (e4))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hf9 zenon_H61 zenon_H37d.
% 47.42/47.59  elim (classic ((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4))))); [ zenon_intro zenon_H37e | zenon_intro zenon_H37f ].
% 47.42/47.59  cut (((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4)))) = ((e2) = (op (e5) (op (e2) (e4))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H37d.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H37e.
% 47.42/47.59  cut (((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H37f].
% 47.42/47.59  cut (((op (e5) (op (e2) (e4))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H380].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e5)) = (e2)) = ((op (e5) (op (e2) (e4))) = (e2))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H380.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hf9.
% 47.42/47.59  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.59  cut (((op (e5) (e5)) = (op (e5) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H381].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4))))); [ zenon_intro zenon_H37e | zenon_intro zenon_H37f ].
% 47.42/47.59  cut (((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4)))) = ((op (e5) (e5)) = (op (e5) (op (e2) (e4))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H381.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H37e.
% 47.42/47.59  cut (((op (e5) (op (e2) (e4))) = (op (e5) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H37f].
% 47.42/47.59  cut (((op (e5) (op (e2) (e4))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H382].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H68 zenon_H61).
% 47.42/47.59  apply zenon_H37f. apply refl_equal.
% 47.42/47.59  apply zenon_H37f. apply refl_equal.
% 47.42/47.59  apply zenon_H19. apply refl_equal.
% 47.42/47.59  apply zenon_H37f. apply refl_equal.
% 47.42/47.59  apply zenon_H37f. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L143_ *)
% 47.42/47.59  assert (zenon_L144_ : ((op (e5) (e1)) = (e3)) -> ((op (e2) (e5)) = (e1)) -> (~((e3) = (op (e5) (op (e2) (e5))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hd9 zenon_H69 zenon_H383.
% 47.42/47.59  elim (classic ((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5))))); [ zenon_intro zenon_H384 | zenon_intro zenon_H385 ].
% 47.42/47.59  cut (((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5)))) = ((e3) = (op (e5) (op (e2) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H383.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H384.
% 47.42/47.59  cut (((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H385].
% 47.42/47.59  cut (((op (e5) (op (e2) (e5))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H386].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e1)) = (e3)) = ((op (e5) (op (e2) (e5))) = (e3))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H386.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hd9.
% 47.42/47.59  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.59  cut (((op (e5) (e1)) = (op (e5) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H387].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5))))); [ zenon_intro zenon_H384 | zenon_intro zenon_H385 ].
% 47.42/47.59  cut (((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5)))) = ((op (e5) (e1)) = (op (e5) (op (e2) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H387.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H384.
% 47.42/47.59  cut (((op (e5) (op (e2) (e5))) = (op (e5) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H385].
% 47.42/47.59  cut (((op (e5) (op (e2) (e5))) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H388].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H70 zenon_H69).
% 47.42/47.59  apply zenon_H385. apply refl_equal.
% 47.42/47.59  apply zenon_H385. apply refl_equal.
% 47.42/47.59  apply zenon_H24. apply refl_equal.
% 47.42/47.59  apply zenon_H385. apply refl_equal.
% 47.42/47.59  apply zenon_H385. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L144_ *)
% 47.42/47.59  assert (zenon_L145_ : ((op (e5) (e3)) = (e4)) -> ((op (e3) (e0)) = (e3)) -> (~((e4) = (op (e5) (op (e3) (e0))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_He9 zenon_H71 zenon_H389.
% 47.42/47.59  elim (classic ((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0))))); [ zenon_intro zenon_H38a | zenon_intro zenon_H38b ].
% 47.42/47.59  cut (((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0)))) = ((e4) = (op (e5) (op (e3) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H389.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H38a.
% 47.42/47.59  cut (((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H38b].
% 47.42/47.59  cut (((op (e5) (op (e3) (e0))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H38c].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e3)) = (e4)) = ((op (e5) (op (e3) (e0))) = (e4))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H38c.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_He9.
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  cut (((op (e5) (e3)) = (op (e5) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H38d].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0))))); [ zenon_intro zenon_H38a | zenon_intro zenon_H38b ].
% 47.42/47.59  cut (((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0)))) = ((op (e5) (e3)) = (op (e5) (op (e3) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H38d.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H38a.
% 47.42/47.59  cut (((op (e5) (op (e3) (e0))) = (op (e5) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H38b].
% 47.42/47.59  cut (((op (e5) (op (e3) (e0))) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H38e].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H78 zenon_H71).
% 47.42/47.59  apply zenon_H38b. apply refl_equal.
% 47.42/47.59  apply zenon_H38b. apply refl_equal.
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  apply zenon_H38b. apply refl_equal.
% 47.42/47.59  apply zenon_H38b. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L145_ *)
% 47.42/47.59  assert (zenon_L146_ : ((op (e5) (e5)) = (e2)) -> ((op (e3) (e1)) = (e5)) -> (~((e2) = (op (e5) (op (e3) (e1))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hf9 zenon_H79 zenon_H38f.
% 47.42/47.59  elim (classic ((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1))))); [ zenon_intro zenon_H390 | zenon_intro zenon_H391 ].
% 47.42/47.59  cut (((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1)))) = ((e2) = (op (e5) (op (e3) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H38f.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H390.
% 47.42/47.59  cut (((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H391].
% 47.42/47.59  cut (((op (e5) (op (e3) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H392].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e5)) = (e2)) = ((op (e5) (op (e3) (e1))) = (e2))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H392.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hf9.
% 47.42/47.59  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.59  cut (((op (e5) (e5)) = (op (e5) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H393].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1))))); [ zenon_intro zenon_H390 | zenon_intro zenon_H391 ].
% 47.42/47.59  cut (((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1)))) = ((op (e5) (e5)) = (op (e5) (op (e3) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H393.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H390.
% 47.42/47.59  cut (((op (e5) (op (e3) (e1))) = (op (e5) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H391].
% 47.42/47.59  cut (((op (e5) (op (e3) (e1))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H394].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H80 zenon_H79).
% 47.42/47.59  apply zenon_H391. apply refl_equal.
% 47.42/47.59  apply zenon_H391. apply refl_equal.
% 47.42/47.59  apply zenon_H19. apply refl_equal.
% 47.42/47.59  apply zenon_H391. apply refl_equal.
% 47.42/47.59  apply zenon_H391. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L146_ *)
% 47.42/47.59  assert (zenon_L147_ : ((op (e5) (e0)) = (e5)) -> ((op (e3) (e2)) = (e0)) -> (~((e5) = (op (e5) (op (e3) (e2))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hd1 zenon_H81 zenon_H395.
% 47.42/47.59  elim (classic ((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2))))); [ zenon_intro zenon_H396 | zenon_intro zenon_H397 ].
% 47.42/47.59  cut (((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2)))) = ((e5) = (op (e5) (op (e3) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H395.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H396.
% 47.42/47.59  cut (((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H397].
% 47.42/47.59  cut (((op (e5) (op (e3) (e2))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H398].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e0)) = (e5)) = ((op (e5) (op (e3) (e2))) = (e5))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H398.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hd1.
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  cut (((op (e5) (e0)) = (op (e5) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H399].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2))))); [ zenon_intro zenon_H396 | zenon_intro zenon_H397 ].
% 47.42/47.59  cut (((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2)))) = ((op (e5) (e0)) = (op (e5) (op (e3) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H399.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H396.
% 47.42/47.59  cut (((op (e5) (op (e3) (e2))) = (op (e5) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H397].
% 47.42/47.59  cut (((op (e5) (op (e3) (e2))) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H39a].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H88 zenon_H81).
% 47.42/47.59  apply zenon_H397. apply refl_equal.
% 47.42/47.59  apply zenon_H397. apply refl_equal.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  apply zenon_H397. apply refl_equal.
% 47.42/47.59  apply zenon_H397. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L147_ *)
% 47.42/47.59  assert (zenon_L148_ : ((op (e5) (e2)) = (e1)) -> ((op (e3) (e3)) = (e2)) -> (~((e1) = (op (e5) (op (e3) (e3))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_He1 zenon_H89 zenon_H39b.
% 47.42/47.59  elim (classic ((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3))))); [ zenon_intro zenon_H39c | zenon_intro zenon_H39d ].
% 47.42/47.59  cut (((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3)))) = ((e1) = (op (e5) (op (e3) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H39b.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H39c.
% 47.42/47.59  cut (((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H39d].
% 47.42/47.59  cut (((op (e5) (op (e3) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H39e].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e2)) = (e1)) = ((op (e5) (op (e3) (e3))) = (e1))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H39e.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_He1.
% 47.42/47.59  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.59  cut (((op (e5) (e2)) = (op (e5) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H39f].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3))))); [ zenon_intro zenon_H39c | zenon_intro zenon_H39d ].
% 47.42/47.59  cut (((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3)))) = ((op (e5) (e2)) = (op (e5) (op (e3) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H39f.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H39c.
% 47.42/47.59  cut (((op (e5) (op (e3) (e3))) = (op (e5) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H39d].
% 47.42/47.59  cut (((op (e5) (op (e3) (e3))) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H3a0].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H90 zenon_H89).
% 47.42/47.59  apply zenon_H39d. apply refl_equal.
% 47.42/47.59  apply zenon_H39d. apply refl_equal.
% 47.42/47.59  apply zenon_H6. apply refl_equal.
% 47.42/47.59  apply zenon_H39d. apply refl_equal.
% 47.42/47.59  apply zenon_H39d. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L148_ *)
% 47.42/47.59  assert (zenon_L149_ : ((op (e5) (e1)) = (e3)) -> ((op (e3) (e4)) = (e1)) -> (~((e3) = (op (e5) (op (e3) (e4))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hd9 zenon_H91 zenon_H3a1.
% 47.42/47.59  elim (classic ((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4))))); [ zenon_intro zenon_H3a2 | zenon_intro zenon_H3a3 ].
% 47.42/47.59  cut (((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4)))) = ((e3) = (op (e5) (op (e3) (e4))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3a1.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3a2.
% 47.42/47.59  cut (((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3a3].
% 47.42/47.59  cut (((op (e5) (op (e3) (e4))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H3a4].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e1)) = (e3)) = ((op (e5) (op (e3) (e4))) = (e3))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3a4.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hd9.
% 47.42/47.59  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.59  cut (((op (e5) (e1)) = (op (e5) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3a5].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4))))); [ zenon_intro zenon_H3a2 | zenon_intro zenon_H3a3 ].
% 47.42/47.59  cut (((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4)))) = ((op (e5) (e1)) = (op (e5) (op (e3) (e4))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3a5.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3a2.
% 47.42/47.59  cut (((op (e5) (op (e3) (e4))) = (op (e5) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3a3].
% 47.42/47.59  cut (((op (e5) (op (e3) (e4))) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H3a6].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H98 zenon_H91).
% 47.42/47.59  apply zenon_H3a3. apply refl_equal.
% 47.42/47.59  apply zenon_H3a3. apply refl_equal.
% 47.42/47.59  apply zenon_H24. apply refl_equal.
% 47.42/47.59  apply zenon_H3a3. apply refl_equal.
% 47.42/47.59  apply zenon_H3a3. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L149_ *)
% 47.42/47.59  assert (zenon_L150_ : ((op (e5) (e4)) = (e0)) -> ((op (e3) (e5)) = (e4)) -> (~((e0) = (op (e5) (op (e3) (e5))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hf1 zenon_H99 zenon_H3a7.
% 47.42/47.59  elim (classic ((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5))))); [ zenon_intro zenon_H3a8 | zenon_intro zenon_H3a9 ].
% 47.42/47.59  cut (((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5)))) = ((e0) = (op (e5) (op (e3) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3a7.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3a8.
% 47.42/47.59  cut (((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3a9].
% 47.42/47.59  cut (((op (e5) (op (e3) (e5))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3aa].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e4)) = (e0)) = ((op (e5) (op (e3) (e5))) = (e0))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3aa.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hf1.
% 47.42/47.59  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.59  cut (((op (e5) (e4)) = (op (e5) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3ab].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5))))); [ zenon_intro zenon_H3a8 | zenon_intro zenon_H3a9 ].
% 47.42/47.59  cut (((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5)))) = ((op (e5) (e4)) = (op (e5) (op (e3) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3ab.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3a8.
% 47.42/47.59  cut (((op (e5) (op (e3) (e5))) = (op (e5) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3a9].
% 47.42/47.59  cut (((op (e5) (op (e3) (e5))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H3ac].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_Ha0 zenon_H99).
% 47.42/47.59  apply zenon_H3a9. apply refl_equal.
% 47.42/47.59  apply zenon_H3a9. apply refl_equal.
% 47.42/47.59  apply zenon_H5. apply refl_equal.
% 47.42/47.59  apply zenon_H3a9. apply refl_equal.
% 47.42/47.59  apply zenon_H3a9. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L150_ *)
% 47.42/47.59  assert (zenon_L151_ : ((op (e5) (e5)) = (e2)) -> ((op (e5) (e0)) = (e5)) -> (~((e2) = (op (e5) (op (e5) (e0))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hf9 zenon_Hd1 zenon_H3ad.
% 47.42/47.59  elim (classic ((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0))))); [ zenon_intro zenon_H3ae | zenon_intro zenon_H3af ].
% 47.42/47.59  cut (((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0)))) = ((e2) = (op (e5) (op (e5) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3ad.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3ae.
% 47.42/47.59  cut (((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H3af].
% 47.42/47.59  cut (((op (e5) (op (e5) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H3b0].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e5)) = (e2)) = ((op (e5) (op (e5) (e0))) = (e2))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3b0.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hf9.
% 47.42/47.59  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.59  cut (((op (e5) (e5)) = (op (e5) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H3b1].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0))))); [ zenon_intro zenon_H3ae | zenon_intro zenon_H3af ].
% 47.42/47.59  cut (((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0)))) = ((op (e5) (e5)) = (op (e5) (op (e5) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3b1.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3ae.
% 47.42/47.59  cut (((op (e5) (op (e5) (e0))) = (op (e5) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H3af].
% 47.42/47.59  cut (((op (e5) (op (e5) (e0))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H3b2].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_Hd8 zenon_Hd1).
% 47.42/47.59  apply zenon_H3af. apply refl_equal.
% 47.42/47.59  apply zenon_H3af. apply refl_equal.
% 47.42/47.59  apply zenon_H19. apply refl_equal.
% 47.42/47.59  apply zenon_H3af. apply refl_equal.
% 47.42/47.59  apply zenon_H3af. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L151_ *)
% 47.42/47.59  assert (zenon_L152_ : ((op (e5) (e3)) = (e4)) -> ((op (e5) (e1)) = (e3)) -> (~((e4) = (op (e5) (op (e5) (e1))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_He9 zenon_Hd9 zenon_H3b3.
% 47.42/47.59  elim (classic ((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1))))); [ zenon_intro zenon_H3b4 | zenon_intro zenon_H3b5 ].
% 47.42/47.59  cut (((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1)))) = ((e4) = (op (e5) (op (e5) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3b3.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3b4.
% 47.42/47.59  cut (((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H3b5].
% 47.42/47.59  cut (((op (e5) (op (e5) (e1))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H3b6].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e3)) = (e4)) = ((op (e5) (op (e5) (e1))) = (e4))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3b6.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_He9.
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  cut (((op (e5) (e3)) = (op (e5) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H3b7].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1))))); [ zenon_intro zenon_H3b4 | zenon_intro zenon_H3b5 ].
% 47.42/47.59  cut (((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1)))) = ((op (e5) (e3)) = (op (e5) (op (e5) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3b7.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3b4.
% 47.42/47.59  cut (((op (e5) (op (e5) (e1))) = (op (e5) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H3b5].
% 47.42/47.59  cut (((op (e5) (op (e5) (e1))) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H3b8].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_He0 zenon_Hd9).
% 47.42/47.59  apply zenon_H3b5. apply refl_equal.
% 47.42/47.59  apply zenon_H3b5. apply refl_equal.
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  apply zenon_H3b5. apply refl_equal.
% 47.42/47.59  apply zenon_H3b5. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L152_ *)
% 47.42/47.59  assert (zenon_L153_ : ((op (e5) (e1)) = (e3)) -> ((op (e5) (e2)) = (e1)) -> (~((e3) = (op (e5) (op (e5) (e2))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hd9 zenon_He1 zenon_H3b9.
% 47.42/47.59  elim (classic ((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2))))); [ zenon_intro zenon_H3ba | zenon_intro zenon_H3bb ].
% 47.42/47.59  cut (((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2)))) = ((e3) = (op (e5) (op (e5) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3b9.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3ba.
% 47.42/47.59  cut (((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H3bb].
% 47.42/47.59  cut (((op (e5) (op (e5) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H3bc].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e1)) = (e3)) = ((op (e5) (op (e5) (e2))) = (e3))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3bc.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hd9.
% 47.42/47.59  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.59  cut (((op (e5) (e1)) = (op (e5) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H3bd].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2))))); [ zenon_intro zenon_H3ba | zenon_intro zenon_H3bb ].
% 47.42/47.59  cut (((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2)))) = ((op (e5) (e1)) = (op (e5) (op (e5) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3bd.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3ba.
% 47.42/47.59  cut (((op (e5) (op (e5) (e2))) = (op (e5) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H3bb].
% 47.42/47.59  cut (((op (e5) (op (e5) (e2))) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H3be].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_He8 zenon_He1).
% 47.42/47.59  apply zenon_H3bb. apply refl_equal.
% 47.42/47.59  apply zenon_H3bb. apply refl_equal.
% 47.42/47.59  apply zenon_H24. apply refl_equal.
% 47.42/47.59  apply zenon_H3bb. apply refl_equal.
% 47.42/47.59  apply zenon_H3bb. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L153_ *)
% 47.42/47.59  assert (zenon_L154_ : ((op (e5) (e4)) = (e0)) -> ((op (e5) (e3)) = (e4)) -> (~((e0) = (op (e5) (op (e5) (e3))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hf1 zenon_He9 zenon_H3bf.
% 47.42/47.59  elim (classic ((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3))))); [ zenon_intro zenon_H3c0 | zenon_intro zenon_H3c1 ].
% 47.42/47.59  cut (((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3)))) = ((e0) = (op (e5) (op (e5) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3bf.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3c0.
% 47.42/47.59  cut (((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H3c1].
% 47.42/47.59  cut (((op (e5) (op (e5) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3c2].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e4)) = (e0)) = ((op (e5) (op (e5) (e3))) = (e0))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3c2.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hf1.
% 47.42/47.59  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.59  cut (((op (e5) (e4)) = (op (e5) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H3c3].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3))))); [ zenon_intro zenon_H3c0 | zenon_intro zenon_H3c1 ].
% 47.42/47.59  cut (((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3)))) = ((op (e5) (e4)) = (op (e5) (op (e5) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3c3.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3c0.
% 47.42/47.59  cut (((op (e5) (op (e5) (e3))) = (op (e5) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H3c1].
% 47.42/47.59  cut (((op (e5) (op (e5) (e3))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H3c4].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_Hf0 zenon_He9).
% 47.42/47.59  apply zenon_H3c1. apply refl_equal.
% 47.42/47.59  apply zenon_H3c1. apply refl_equal.
% 47.42/47.59  apply zenon_H5. apply refl_equal.
% 47.42/47.59  apply zenon_H3c1. apply refl_equal.
% 47.42/47.59  apply zenon_H3c1. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L154_ *)
% 47.42/47.59  assert (zenon_L155_ : ((op (e5) (e0)) = (e5)) -> ((op (e5) (e4)) = (e0)) -> (~((e5) = (op (e5) (op (e5) (e4))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_Hd1 zenon_Hf1 zenon_H3c5.
% 47.42/47.59  elim (classic ((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4))))); [ zenon_intro zenon_H3c6 | zenon_intro zenon_H3c7 ].
% 47.42/47.59  cut (((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4)))) = ((e5) = (op (e5) (op (e5) (e4))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3c5.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3c6.
% 47.42/47.59  cut (((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3c7].
% 47.42/47.59  cut (((op (e5) (op (e5) (e4))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H3c8].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e0)) = (e5)) = ((op (e5) (op (e5) (e4))) = (e5))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3c8.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hd1.
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  cut (((op (e5) (e0)) = (op (e5) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3c9].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4))))); [ zenon_intro zenon_H3c6 | zenon_intro zenon_H3c7 ].
% 47.42/47.59  cut (((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4)))) = ((op (e5) (e0)) = (op (e5) (op (e5) (e4))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3c9.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3c6.
% 47.42/47.59  cut (((op (e5) (op (e5) (e4))) = (op (e5) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3c7].
% 47.42/47.59  cut (((op (e5) (op (e5) (e4))) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H3ca].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_Hf8 zenon_Hf1).
% 47.42/47.59  apply zenon_H3c7. apply refl_equal.
% 47.42/47.59  apply zenon_H3c7. apply refl_equal.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  apply zenon_H3c7. apply refl_equal.
% 47.42/47.59  apply zenon_H3c7. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L155_ *)
% 47.42/47.59  assert (zenon_L156_ : ((op (e5) (e2)) = (e1)) -> ((op (e5) (e5)) = (e2)) -> (~((e1) = (op (e5) (op (e5) (e5))))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_He1 zenon_Hf9 zenon_H3cb.
% 47.42/47.59  elim (classic ((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5))))); [ zenon_intro zenon_H3cc | zenon_intro zenon_H3cd ].
% 47.42/47.59  cut (((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5)))) = ((e1) = (op (e5) (op (e5) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3cb.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3cc.
% 47.42/47.59  cut (((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3cd].
% 47.42/47.59  cut (((op (e5) (op (e5) (e5))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H3ce].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e2)) = (e1)) = ((op (e5) (op (e5) (e5))) = (e1))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3ce.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_He1.
% 47.42/47.59  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.59  cut (((op (e5) (e2)) = (op (e5) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3cf].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5))))); [ zenon_intro zenon_H3cc | zenon_intro zenon_H3cd ].
% 47.42/47.59  cut (((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5)))) = ((op (e5) (e2)) = (op (e5) (op (e5) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H3cf.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H3cc.
% 47.42/47.59  cut (((op (e5) (op (e5) (e5))) = (op (e5) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3cd].
% 47.42/47.59  cut (((op (e5) (op (e5) (e5))) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H3d0].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  exact (zenon_H100 zenon_Hf9).
% 47.42/47.59  apply zenon_H3cd. apply refl_equal.
% 47.42/47.59  apply zenon_H3cd. apply refl_equal.
% 47.42/47.59  apply zenon_H6. apply refl_equal.
% 47.42/47.59  apply zenon_H3cd. apply refl_equal.
% 47.42/47.59  apply zenon_H3cd. apply refl_equal.
% 47.42/47.59  (* end of lemma zenon_L156_ *)
% 47.42/47.59  assert (zenon_L157_ : (~((unit) = (e0))) -> False).
% 47.42/47.59  do 0 intro. intros zenon_H3d1.
% 47.42/47.59  exact (zenon_H3d1 ax3).
% 47.42/47.59  (* end of lemma zenon_L157_ *)
% 47.42/47.59  apply NNPP. intro zenon_G.
% 47.42/47.59  apply (zenon_and_s _ _ ax2). zenon_intro zenon_H10. zenon_intro zenon_H3d2.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3d2). zenon_intro zenon_H7. zenon_intro zenon_H3d3.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3d3). zenon_intro zenon_H2f. zenon_intro zenon_H3d4.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3d4). zenon_intro zenon_H38. zenon_intro zenon_H3d5.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3d5). zenon_intro zenon_H1b. zenon_intro zenon_H3d6.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3d6). zenon_intro zenon_H26. zenon_intro zenon_H3d7.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3d7). zenon_intro zenon_H8. zenon_intro zenon_H3d8.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3d8). zenon_intro zenon_H11. zenon_intro zenon_H3d9.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3d9). zenon_intro zenon_H1c. zenon_intro zenon_H3da.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3da). zenon_intro zenon_H27. zenon_intro zenon_H3db.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3db). zenon_intro zenon_H30. zenon_intro zenon_H3dc.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3dc). zenon_intro zenon_H39. zenon_intro zenon_H3dd.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H41. zenon_intro zenon_H3de.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3de). zenon_intro zenon_H49. zenon_intro zenon_H3df.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3df). zenon_intro zenon_H51. zenon_intro zenon_H3e0.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3e0). zenon_intro zenon_H59. zenon_intro zenon_H3e1.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3e1). zenon_intro zenon_H61. zenon_intro zenon_H3e2.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3e2). zenon_intro zenon_H69. zenon_intro zenon_H3e3.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3e3). zenon_intro zenon_H71. zenon_intro zenon_H3e4.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H79. zenon_intro zenon_H3e5.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3e5). zenon_intro zenon_H81. zenon_intro zenon_H3e6.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3e6). zenon_intro zenon_H89. zenon_intro zenon_H3e7.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3e7). zenon_intro zenon_H91. zenon_intro zenon_H3e8.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3e8). zenon_intro zenon_H99. zenon_intro zenon_H3e9.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3e9). zenon_intro zenon_Ha1. zenon_intro zenon_H3ea.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_Ha9. zenon_intro zenon_H3eb.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3eb). zenon_intro zenon_Hb1. zenon_intro zenon_H3ec.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3ec). zenon_intro zenon_Hb9. zenon_intro zenon_H3ed.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3ed). zenon_intro zenon_Hc1. zenon_intro zenon_H3ee.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3ee). zenon_intro zenon_Hc9. zenon_intro zenon_H3ef.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3ef). zenon_intro zenon_Hd1. zenon_intro zenon_H3f0.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3f0). zenon_intro zenon_Hd9. zenon_intro zenon_H3f1.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3f1). zenon_intro zenon_He1. zenon_intro zenon_H3f2.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3f2). zenon_intro zenon_He9. zenon_intro zenon_H3f3.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3f3). zenon_intro zenon_Hf1. zenon_intro zenon_Hf9.
% 47.42/47.59  apply (zenon_and_s _ _ ax4). zenon_intro zenon_H3f5. zenon_intro zenon_H3f4.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3f4). zenon_intro zenon_H3f7. zenon_intro zenon_H3f6.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3f6). zenon_intro zenon_H3f9. zenon_intro zenon_H3f8.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3f8). zenon_intro zenon_H3fb. zenon_intro zenon_H3fa.
% 47.42/47.59  apply (zenon_and_s _ _ zenon_H3fa). zenon_intro zenon_H3fd. zenon_intro zenon_H3fc.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_G); [ zenon_intro zenon_H3ff | zenon_intro zenon_H3fe ].
% 47.42/47.59  apply zenon_H3ff. apply refl_equal.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H3fe); [ zenon_intro zenon_H401 | zenon_intro zenon_H400 ].
% 47.42/47.59  cut (((op (e0) (e1)) = (e1)) = ((op (e0) (e1)) = (op (e1) (e0)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H401.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H7.
% 47.42/47.59  cut (((e1) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H402].
% 47.42/47.59  cut (((op (e0) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H403].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H403. apply refl_equal.
% 47.42/47.59  apply zenon_H402. apply sym_equal. exact zenon_H8.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H400); [ zenon_intro zenon_H405 | zenon_intro zenon_H404 ].
% 47.42/47.59  cut (((op (e0) (e2)) = (e2)) = ((op (e0) (e2)) = (op (e2) (e0)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H405.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H2f.
% 47.42/47.59  cut (((e2) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H406].
% 47.42/47.59  cut (((op (e0) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H407].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H407. apply refl_equal.
% 47.42/47.59  apply zenon_H406. apply sym_equal. exact zenon_H41.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H404); [ zenon_intro zenon_H409 | zenon_intro zenon_H408 ].
% 47.42/47.59  cut (((op (e0) (e3)) = (e3)) = ((op (e0) (e3)) = (op (e3) (e0)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H409.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H38.
% 47.42/47.59  cut (((e3) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H40a].
% 47.42/47.59  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H40b].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H40b. apply refl_equal.
% 47.42/47.59  apply zenon_H40a. apply sym_equal. exact zenon_H71.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H408); [ zenon_intro zenon_H40d | zenon_intro zenon_H40c ].
% 47.42/47.59  cut (((op (e0) (e4)) = (e4)) = ((op (e0) (e4)) = (op (e4) (e0)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H40d.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H1b.
% 47.42/47.59  cut (((e4) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H40e].
% 47.42/47.59  cut (((op (e0) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H40f].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H40f. apply refl_equal.
% 47.42/47.59  apply zenon_H40e. apply sym_equal. exact zenon_Ha1.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H40c); [ zenon_intro zenon_H411 | zenon_intro zenon_H410 ].
% 47.42/47.59  cut (((op (e0) (e5)) = (e5)) = ((op (e0) (e5)) = (op (e5) (e0)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H411.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H26.
% 47.42/47.59  cut (((e5) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H412].
% 47.42/47.59  cut (((op (e0) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H413].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H413. apply refl_equal.
% 47.42/47.59  apply zenon_H412. apply sym_equal. exact zenon_Hd1.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H410); [ zenon_intro zenon_H415 | zenon_intro zenon_H414 ].
% 47.42/47.59  cut (((op (e1) (e0)) = (e1)) = ((op (e1) (e0)) = (op (e0) (e1)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H415.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H8.
% 47.42/47.59  cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H416].
% 47.42/47.59  cut (((op (e1) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H417].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H417. apply refl_equal.
% 47.42/47.59  apply zenon_H416. apply sym_equal. exact zenon_H7.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H414); [ zenon_intro zenon_H419 | zenon_intro zenon_H418 ].
% 47.42/47.59  apply zenon_H419. apply refl_equal.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H418); [ zenon_intro zenon_H41b | zenon_intro zenon_H41a ].
% 47.42/47.59  cut (((op (e1) (e2)) = (e4)) = ((op (e1) (e2)) = (op (e2) (e1)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H41b.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H1c.
% 47.42/47.59  cut (((e4) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H41c].
% 47.42/47.59  cut (((op (e1) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H41d].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H41d. apply refl_equal.
% 47.42/47.59  apply zenon_H41c. apply sym_equal. exact zenon_H49.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H41a); [ zenon_intro zenon_H41f | zenon_intro zenon_H41e ].
% 47.42/47.59  cut (((op (e1) (e3)) = (e5)) = ((op (e1) (e3)) = (op (e3) (e1)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H41f.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H27.
% 47.42/47.59  cut (((e5) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H420].
% 47.42/47.59  cut (((op (e1) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H421].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H421. apply refl_equal.
% 47.42/47.59  apply zenon_H420. apply sym_equal. exact zenon_H79.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H41e); [ zenon_intro zenon_H423 | zenon_intro zenon_H422 ].
% 47.42/47.59  cut (((op (e1) (e4)) = (e2)) = ((op (e1) (e4)) = (op (e4) (e1)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H423.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H30.
% 47.42/47.59  cut (((e2) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H424].
% 47.42/47.59  cut (((op (e1) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H425].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H425. apply refl_equal.
% 47.42/47.59  apply zenon_H424. apply sym_equal. exact zenon_Ha9.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H422); [ zenon_intro zenon_H427 | zenon_intro zenon_H426 ].
% 47.42/47.59  cut (((op (e1) (e5)) = (e3)) = ((op (e1) (e5)) = (op (e5) (e1)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H427.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H39.
% 47.42/47.59  cut (((e3) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H428].
% 47.42/47.59  cut (((op (e1) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H429].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H429. apply refl_equal.
% 47.42/47.59  apply zenon_H428. apply sym_equal. exact zenon_Hd9.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H426); [ zenon_intro zenon_H42b | zenon_intro zenon_H42a ].
% 47.42/47.59  cut (((op (e2) (e0)) = (e2)) = ((op (e2) (e0)) = (op (e0) (e2)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H42b.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H41.
% 47.42/47.59  cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H42c].
% 47.42/47.59  cut (((op (e2) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H42d].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H42d. apply refl_equal.
% 47.42/47.59  apply zenon_H42c. apply sym_equal. exact zenon_H2f.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H42a); [ zenon_intro zenon_H42f | zenon_intro zenon_H42e ].
% 47.42/47.59  cut (((op (e2) (e1)) = (e4)) = ((op (e2) (e1)) = (op (e1) (e2)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H42f.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H49.
% 47.42/47.59  cut (((e4) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H430].
% 47.42/47.59  cut (((op (e2) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H431].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H431. apply refl_equal.
% 47.42/47.59  apply zenon_H430. apply sym_equal. exact zenon_H1c.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H42e); [ zenon_intro zenon_H433 | zenon_intro zenon_H432 ].
% 47.42/47.59  apply zenon_H433. apply refl_equal.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H432); [ zenon_intro zenon_H435 | zenon_intro zenon_H434 ].
% 47.42/47.59  cut (((op (e2) (e3)) = (e0)) = ((op (e2) (e3)) = (op (e3) (e2)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H435.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H59.
% 47.42/47.59  cut (((e0) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H436].
% 47.42/47.59  cut (((op (e2) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H437].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H437. apply refl_equal.
% 47.42/47.59  apply zenon_H436. apply sym_equal. exact zenon_H81.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H434); [ zenon_intro zenon_H439 | zenon_intro zenon_H438 ].
% 47.42/47.59  cut (((op (e2) (e4)) = (e5)) = ((op (e2) (e4)) = (op (e4) (e2)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H439.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H61.
% 47.42/47.59  cut (((e5) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H43a].
% 47.42/47.59  cut (((op (e2) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H43b].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H43b. apply refl_equal.
% 47.42/47.59  apply zenon_H43a. apply sym_equal. exact zenon_Hb1.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H438); [ zenon_intro zenon_H43d | zenon_intro zenon_H43c ].
% 47.42/47.59  cut (((op (e2) (e5)) = (e1)) = ((op (e2) (e5)) = (op (e5) (e2)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H43d.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H69.
% 47.42/47.59  cut (((e1) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H43e].
% 47.42/47.59  cut (((op (e2) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H43f].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H43f. apply refl_equal.
% 47.42/47.59  apply zenon_H43e. apply sym_equal. exact zenon_He1.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H43c); [ zenon_intro zenon_H441 | zenon_intro zenon_H440 ].
% 47.42/47.59  cut (((op (e3) (e0)) = (e3)) = ((op (e3) (e0)) = (op (e0) (e3)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H441.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H71.
% 47.42/47.59  cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H442].
% 47.42/47.59  cut (((op (e3) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H443].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H443. apply refl_equal.
% 47.42/47.59  apply zenon_H442. apply sym_equal. exact zenon_H38.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H440); [ zenon_intro zenon_H445 | zenon_intro zenon_H444 ].
% 47.42/47.59  cut (((op (e3) (e1)) = (e5)) = ((op (e3) (e1)) = (op (e1) (e3)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H445.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H79.
% 47.42/47.59  cut (((e5) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H446].
% 47.42/47.59  cut (((op (e3) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H447].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H447. apply refl_equal.
% 47.42/47.59  apply zenon_H446. apply sym_equal. exact zenon_H27.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H444); [ zenon_intro zenon_H449 | zenon_intro zenon_H448 ].
% 47.42/47.59  cut (((op (e3) (e2)) = (e0)) = ((op (e3) (e2)) = (op (e2) (e3)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H449.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H81.
% 47.42/47.59  cut (((e0) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H44a].
% 47.42/47.59  cut (((op (e3) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H44b].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H44b. apply refl_equal.
% 47.42/47.59  apply zenon_H44a. apply sym_equal. exact zenon_H59.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H448); [ zenon_intro zenon_H44d | zenon_intro zenon_H44c ].
% 47.42/47.59  apply zenon_H44d. apply refl_equal.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H44c); [ zenon_intro zenon_H44f | zenon_intro zenon_H44e ].
% 47.42/47.59  cut (((op (e3) (e4)) = (e1)) = ((op (e3) (e4)) = (op (e4) (e3)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H44f.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H91.
% 47.42/47.59  cut (((e1) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H450].
% 47.42/47.59  cut (((op (e3) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H451].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H451. apply refl_equal.
% 47.42/47.59  apply zenon_H450. apply sym_equal. exact zenon_Hb9.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H44e); [ zenon_intro zenon_H453 | zenon_intro zenon_H452 ].
% 47.42/47.59  cut (((op (e3) (e5)) = (e4)) = ((op (e3) (e5)) = (op (e5) (e3)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H453.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H99.
% 47.42/47.59  cut (((e4) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H454].
% 47.42/47.59  cut (((op (e3) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H455].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H455. apply refl_equal.
% 47.42/47.59  apply zenon_H454. apply sym_equal. exact zenon_He9.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H452); [ zenon_intro zenon_H457 | zenon_intro zenon_H456 ].
% 47.42/47.59  cut (((op (e4) (e0)) = (e4)) = ((op (e4) (e0)) = (op (e0) (e4)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H457.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Ha1.
% 47.42/47.59  cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H458].
% 47.42/47.59  cut (((op (e4) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H459].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H459. apply refl_equal.
% 47.42/47.59  apply zenon_H458. apply sym_equal. exact zenon_H1b.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H456); [ zenon_intro zenon_H45b | zenon_intro zenon_H45a ].
% 47.42/47.59  cut (((op (e4) (e1)) = (e2)) = ((op (e4) (e1)) = (op (e1) (e4)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H45b.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Ha9.
% 47.42/47.59  cut (((e2) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H45c].
% 47.42/47.59  cut (((op (e4) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H45d].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H45d. apply refl_equal.
% 47.42/47.59  apply zenon_H45c. apply sym_equal. exact zenon_H30.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H45a); [ zenon_intro zenon_H45f | zenon_intro zenon_H45e ].
% 47.42/47.59  cut (((op (e4) (e2)) = (e5)) = ((op (e4) (e2)) = (op (e2) (e4)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H45f.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hb1.
% 47.42/47.59  cut (((e5) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H460].
% 47.42/47.59  cut (((op (e4) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H461].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H461. apply refl_equal.
% 47.42/47.59  apply zenon_H460. apply sym_equal. exact zenon_H61.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H45e); [ zenon_intro zenon_H463 | zenon_intro zenon_H462 ].
% 47.42/47.59  cut (((op (e4) (e3)) = (e1)) = ((op (e4) (e3)) = (op (e3) (e4)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H463.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hb9.
% 47.42/47.59  cut (((e1) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H464].
% 47.42/47.59  cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H465].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H465. apply refl_equal.
% 47.42/47.59  apply zenon_H464. apply sym_equal. exact zenon_H91.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H462); [ zenon_intro zenon_H467 | zenon_intro zenon_H466 ].
% 47.42/47.59  apply zenon_H467. apply refl_equal.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H466); [ zenon_intro zenon_H469 | zenon_intro zenon_H468 ].
% 47.42/47.59  cut (((op (e4) (e5)) = (e0)) = ((op (e4) (e5)) = (op (e5) (e4)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H469.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hc9.
% 47.42/47.59  cut (((e0) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H46a].
% 47.42/47.59  cut (((op (e4) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46b].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H46b. apply refl_equal.
% 47.42/47.59  apply zenon_H46a. apply sym_equal. exact zenon_Hf1.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H468); [ zenon_intro zenon_H46d | zenon_intro zenon_H46c ].
% 47.42/47.59  cut (((op (e5) (e0)) = (e5)) = ((op (e5) (e0)) = (op (e0) (e5)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H46d.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hd1.
% 47.42/47.59  cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46e].
% 47.42/47.59  cut (((op (e5) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H46f].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H46f. apply refl_equal.
% 47.42/47.59  apply zenon_H46e. apply sym_equal. exact zenon_H26.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H46c); [ zenon_intro zenon_H471 | zenon_intro zenon_H470 ].
% 47.42/47.59  cut (((op (e5) (e1)) = (e3)) = ((op (e5) (e1)) = (op (e1) (e5)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H471.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hd9.
% 47.42/47.59  cut (((e3) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H472].
% 47.42/47.59  cut (((op (e5) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H473].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H473. apply refl_equal.
% 47.42/47.59  apply zenon_H472. apply sym_equal. exact zenon_H39.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H470); [ zenon_intro zenon_H475 | zenon_intro zenon_H474 ].
% 47.42/47.59  cut (((op (e5) (e2)) = (e1)) = ((op (e5) (e2)) = (op (e2) (e5)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H475.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_He1.
% 47.42/47.59  cut (((e1) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H476].
% 47.42/47.59  cut (((op (e5) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H477].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H477. apply refl_equal.
% 47.42/47.59  apply zenon_H476. apply sym_equal. exact zenon_H69.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H474); [ zenon_intro zenon_H479 | zenon_intro zenon_H478 ].
% 47.42/47.59  cut (((op (e5) (e3)) = (e4)) = ((op (e5) (e3)) = (op (e3) (e5)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H479.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_He9.
% 47.42/47.59  cut (((e4) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H47a].
% 47.42/47.59  cut (((op (e5) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H47b].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H47b. apply refl_equal.
% 47.42/47.59  apply zenon_H47a. apply sym_equal. exact zenon_H99.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H478); [ zenon_intro zenon_H47d | zenon_intro zenon_H47c ].
% 47.42/47.59  cut (((op (e5) (e4)) = (e0)) = ((op (e5) (e4)) = (op (e4) (e5)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H47d.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hf1.
% 47.42/47.59  cut (((e0) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H47e].
% 47.42/47.59  cut (((op (e5) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H47f].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H47f. apply refl_equal.
% 47.42/47.59  apply zenon_H47e. apply sym_equal. exact zenon_Hc9.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H47c); [ zenon_intro zenon_H481 | zenon_intro zenon_H480 ].
% 47.42/47.59  apply zenon_H481. apply refl_equal.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H480); [ zenon_intro zenon_H483 | zenon_intro zenon_H482 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H483). zenon_intro zenon_H485. zenon_intro zenon_H484.
% 47.42/47.59  exact (zenon_H485 zenon_H10).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H482); [ zenon_intro zenon_H487 | zenon_intro zenon_H486 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H487). zenon_intro zenon_H489. zenon_intro zenon_H488.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H488). zenon_intro zenon_H48b. zenon_intro zenon_H48a.
% 47.42/47.59  exact (zenon_H48b zenon_H7).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H486); [ zenon_intro zenon_H48d | zenon_intro zenon_H48c ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H48d). zenon_intro zenon_H48f. zenon_intro zenon_H48e.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H48e). zenon_intro zenon_H491. zenon_intro zenon_H490.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H490). zenon_intro zenon_H493. zenon_intro zenon_H492.
% 47.42/47.59  exact (zenon_H493 zenon_H2f).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H48c); [ zenon_intro zenon_H495 | zenon_intro zenon_H494 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H495). zenon_intro zenon_H497. zenon_intro zenon_H496.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H496). zenon_intro zenon_H499. zenon_intro zenon_H498.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H498). zenon_intro zenon_H49b. zenon_intro zenon_H49a.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H49a). zenon_intro zenon_H49d. zenon_intro zenon_H49c.
% 47.42/47.59  exact (zenon_H49d zenon_H38).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H494); [ zenon_intro zenon_H49f | zenon_intro zenon_H49e ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H49f). zenon_intro zenon_H4a1. zenon_intro zenon_H4a0.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4a0). zenon_intro zenon_H4a3. zenon_intro zenon_H4a2.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4a2). zenon_intro zenon_H4a5. zenon_intro zenon_H4a4.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4a4). zenon_intro zenon_H4a7. zenon_intro zenon_H4a6.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4a6). zenon_intro zenon_H4a9. zenon_intro zenon_H4a8.
% 47.42/47.59  exact (zenon_H4a9 zenon_H1b).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H49e); [ zenon_intro zenon_H4ab | zenon_intro zenon_H4aa ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4ab). zenon_intro zenon_H4ad. zenon_intro zenon_H4ac.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4ac). zenon_intro zenon_H4af. zenon_intro zenon_H4ae.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4ae). zenon_intro zenon_H4b1. zenon_intro zenon_H4b0.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4b0). zenon_intro zenon_H4b3. zenon_intro zenon_H4b2.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4b2). zenon_intro zenon_H4b5. zenon_intro zenon_H4b4.
% 47.42/47.59  exact (zenon_H4b4 zenon_H26).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H4aa); [ zenon_intro zenon_H4b7 | zenon_intro zenon_H4b6 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4b7). zenon_intro zenon_H4b9. zenon_intro zenon_H4b8.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4b8). zenon_intro zenon_Hf. zenon_intro zenon_H4ba.
% 47.42/47.59  exact (zenon_Hf zenon_H8).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H4b6); [ zenon_intro zenon_H4bc | zenon_intro zenon_H4bb ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4bc). zenon_intro zenon_H18. zenon_intro zenon_H4bd.
% 47.42/47.59  exact (zenon_H18 zenon_H11).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H4bb); [ zenon_intro zenon_H4bf | zenon_intro zenon_H4be ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4bf). zenon_intro zenon_H4c1. zenon_intro zenon_H4c0.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4c0). zenon_intro zenon_H4c3. zenon_intro zenon_H4c2.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4c2). zenon_intro zenon_H4c5. zenon_intro zenon_H4c4.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4c4). zenon_intro zenon_H4c7. zenon_intro zenon_H4c6.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4c6). zenon_intro zenon_H23. zenon_intro zenon_H4c8.
% 47.42/47.59  exact (zenon_H23 zenon_H1c).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H4be); [ zenon_intro zenon_H4ca | zenon_intro zenon_H4c9 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4ca). zenon_intro zenon_H4cc. zenon_intro zenon_H4cb.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4cb). zenon_intro zenon_H4ce. zenon_intro zenon_H4cd.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4cd). zenon_intro zenon_H4d0. zenon_intro zenon_H4cf.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4cf). zenon_intro zenon_H4d2. zenon_intro zenon_H4d1.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4d1). zenon_intro zenon_H4d3. zenon_intro zenon_H2e.
% 47.42/47.59  exact (zenon_H2e zenon_H27).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H4c9); [ zenon_intro zenon_H4d5 | zenon_intro zenon_H4d4 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4d5). zenon_intro zenon_H4d7. zenon_intro zenon_H4d6.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4d6). zenon_intro zenon_H4d9. zenon_intro zenon_H4d8.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4d8). zenon_intro zenon_H37. zenon_intro zenon_H4da.
% 47.42/47.59  exact (zenon_H37 zenon_H30).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H4d4); [ zenon_intro zenon_H4dc | zenon_intro zenon_H4db ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4dc). zenon_intro zenon_H4de. zenon_intro zenon_H4dd.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4dd). zenon_intro zenon_H4e0. zenon_intro zenon_H4df.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4df). zenon_intro zenon_H4e2. zenon_intro zenon_H4e1.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4e1). zenon_intro zenon_H40. zenon_intro zenon_H4e3.
% 47.42/47.59  exact (zenon_H40 zenon_H39).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H4db); [ zenon_intro zenon_H4e5 | zenon_intro zenon_H4e4 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4e5). zenon_intro zenon_H4e7. zenon_intro zenon_H4e6.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4e6). zenon_intro zenon_H4e9. zenon_intro zenon_H4e8.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4e8). zenon_intro zenon_H48. zenon_intro zenon_H4ea.
% 47.42/47.59  exact (zenon_H48 zenon_H41).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H4e4); [ zenon_intro zenon_H4ec | zenon_intro zenon_H4eb ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4ec). zenon_intro zenon_H4ee. zenon_intro zenon_H4ed.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4ed). zenon_intro zenon_H4f0. zenon_intro zenon_H4ef.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4ef). zenon_intro zenon_H4f2. zenon_intro zenon_H4f1.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4f1). zenon_intro zenon_H4f4. zenon_intro zenon_H4f3.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4f3). zenon_intro zenon_H50. zenon_intro zenon_H4f5.
% 47.42/47.59  exact (zenon_H50 zenon_H49).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H4eb); [ zenon_intro zenon_H4f7 | zenon_intro zenon_H4f6 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4f7). zenon_intro zenon_H4f9. zenon_intro zenon_H4f8.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4f8). zenon_intro zenon_H4fb. zenon_intro zenon_H4fa.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4fa). zenon_intro zenon_H4fd. zenon_intro zenon_H4fc.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H4fc). zenon_intro zenon_H58. zenon_intro zenon_H4fe.
% 47.42/47.59  exact (zenon_H58 zenon_H51).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H4f6); [ zenon_intro zenon_H500 | zenon_intro zenon_H4ff ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H500). zenon_intro zenon_H60. zenon_intro zenon_H501.
% 47.42/47.59  exact (zenon_H60 zenon_H59).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H4ff); [ zenon_intro zenon_H503 | zenon_intro zenon_H502 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H503). zenon_intro zenon_H505. zenon_intro zenon_H504.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H504). zenon_intro zenon_H507. zenon_intro zenon_H506.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H506). zenon_intro zenon_H509. zenon_intro zenon_H508.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H508). zenon_intro zenon_H50b. zenon_intro zenon_H50a.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H50a). zenon_intro zenon_H50c. zenon_intro zenon_H68.
% 47.42/47.59  exact (zenon_H68 zenon_H61).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H502); [ zenon_intro zenon_H50e | zenon_intro zenon_H50d ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H50e). zenon_intro zenon_H510. zenon_intro zenon_H50f.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H50f). zenon_intro zenon_H70. zenon_intro zenon_H511.
% 47.42/47.59  exact (zenon_H70 zenon_H69).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H50d); [ zenon_intro zenon_H513 | zenon_intro zenon_H512 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H513). zenon_intro zenon_H515. zenon_intro zenon_H514.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H514). zenon_intro zenon_H517. zenon_intro zenon_H516.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H516). zenon_intro zenon_H519. zenon_intro zenon_H518.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H518). zenon_intro zenon_H78. zenon_intro zenon_H51a.
% 47.42/47.59  exact (zenon_H78 zenon_H71).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H512); [ zenon_intro zenon_H51c | zenon_intro zenon_H51b ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H51c). zenon_intro zenon_H51e. zenon_intro zenon_H51d.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H51d). zenon_intro zenon_H520. zenon_intro zenon_H51f.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H51f). zenon_intro zenon_H522. zenon_intro zenon_H521.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H521). zenon_intro zenon_H524. zenon_intro zenon_H523.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H523). zenon_intro zenon_H525. zenon_intro zenon_H80.
% 47.42/47.59  exact (zenon_H80 zenon_H79).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H51b); [ zenon_intro zenon_H527 | zenon_intro zenon_H526 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H527). zenon_intro zenon_H88. zenon_intro zenon_H528.
% 47.42/47.59  exact (zenon_H88 zenon_H81).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H526); [ zenon_intro zenon_H52a | zenon_intro zenon_H529 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H52a). zenon_intro zenon_H52c. zenon_intro zenon_H52b.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H52b). zenon_intro zenon_H52e. zenon_intro zenon_H52d.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H52d). zenon_intro zenon_H90. zenon_intro zenon_H52f.
% 47.42/47.59  exact (zenon_H90 zenon_H89).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H529); [ zenon_intro zenon_H531 | zenon_intro zenon_H530 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H531). zenon_intro zenon_H533. zenon_intro zenon_H532.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H532). zenon_intro zenon_H98. zenon_intro zenon_H534.
% 47.42/47.59  exact (zenon_H98 zenon_H91).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H530); [ zenon_intro zenon_H536 | zenon_intro zenon_H535 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H536). zenon_intro zenon_H538. zenon_intro zenon_H537.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H537). zenon_intro zenon_H53a. zenon_intro zenon_H539.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H539). zenon_intro zenon_H53c. zenon_intro zenon_H53b.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H53b). zenon_intro zenon_H53e. zenon_intro zenon_H53d.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H53d). zenon_intro zenon_Ha0. zenon_intro zenon_H53f.
% 47.42/47.59  exact (zenon_Ha0 zenon_H99).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H535); [ zenon_intro zenon_H541 | zenon_intro zenon_H540 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H541). zenon_intro zenon_H543. zenon_intro zenon_H542.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H542). zenon_intro zenon_H545. zenon_intro zenon_H544.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H544). zenon_intro zenon_H547. zenon_intro zenon_H546.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H546). zenon_intro zenon_H549. zenon_intro zenon_H548.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H548). zenon_intro zenon_Ha8. zenon_intro zenon_H54a.
% 47.42/47.59  exact (zenon_Ha8 zenon_Ha1).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H540); [ zenon_intro zenon_H54c | zenon_intro zenon_H54b ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H54c). zenon_intro zenon_H54e. zenon_intro zenon_H54d.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H54d). zenon_intro zenon_H550. zenon_intro zenon_H54f.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H54f). zenon_intro zenon_Hb0. zenon_intro zenon_H551.
% 47.42/47.59  exact (zenon_Hb0 zenon_Ha9).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H54b); [ zenon_intro zenon_H553 | zenon_intro zenon_H552 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H553). zenon_intro zenon_H555. zenon_intro zenon_H554.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H554). zenon_intro zenon_H557. zenon_intro zenon_H556.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H556). zenon_intro zenon_H559. zenon_intro zenon_H558.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H558). zenon_intro zenon_H55b. zenon_intro zenon_H55a.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H55a). zenon_intro zenon_H55c. zenon_intro zenon_Hb8.
% 47.42/47.59  exact (zenon_Hb8 zenon_Hb1).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H552); [ zenon_intro zenon_H55e | zenon_intro zenon_H55d ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H55e). zenon_intro zenon_H560. zenon_intro zenon_H55f.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H55f). zenon_intro zenon_Hc0. zenon_intro zenon_H561.
% 47.42/47.59  exact (zenon_Hc0 zenon_Hb9).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H55d); [ zenon_intro zenon_H563 | zenon_intro zenon_H562 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H563). zenon_intro zenon_H565. zenon_intro zenon_H564.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H564). zenon_intro zenon_H567. zenon_intro zenon_H566.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H566). zenon_intro zenon_H569. zenon_intro zenon_H568.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H568). zenon_intro zenon_Hc8. zenon_intro zenon_H56a.
% 47.42/47.59  exact (zenon_Hc8 zenon_Hc1).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H562); [ zenon_intro zenon_H56c | zenon_intro zenon_H56b ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H56c). zenon_intro zenon_Hd0. zenon_intro zenon_H56d.
% 47.42/47.59  exact (zenon_Hd0 zenon_Hc9).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H56b); [ zenon_intro zenon_H56f | zenon_intro zenon_H56e ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H56f). zenon_intro zenon_H571. zenon_intro zenon_H570.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H570). zenon_intro zenon_H573. zenon_intro zenon_H572.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H572). zenon_intro zenon_H575. zenon_intro zenon_H574.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H574). zenon_intro zenon_H577. zenon_intro zenon_H576.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H576). zenon_intro zenon_H578. zenon_intro zenon_Hd8.
% 47.42/47.59  exact (zenon_Hd8 zenon_Hd1).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H56e); [ zenon_intro zenon_H57a | zenon_intro zenon_H579 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H57a). zenon_intro zenon_H57c. zenon_intro zenon_H57b.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H57b). zenon_intro zenon_H57e. zenon_intro zenon_H57d.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H57d). zenon_intro zenon_H580. zenon_intro zenon_H57f.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H57f). zenon_intro zenon_He0. zenon_intro zenon_H581.
% 47.42/47.59  exact (zenon_He0 zenon_Hd9).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H579); [ zenon_intro zenon_H583 | zenon_intro zenon_H582 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H583). zenon_intro zenon_H585. zenon_intro zenon_H584.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H584). zenon_intro zenon_He8. zenon_intro zenon_H586.
% 47.42/47.59  exact (zenon_He8 zenon_He1).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H582); [ zenon_intro zenon_H588 | zenon_intro zenon_H587 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H588). zenon_intro zenon_H58a. zenon_intro zenon_H589.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H589). zenon_intro zenon_H58c. zenon_intro zenon_H58b.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H58b). zenon_intro zenon_H58e. zenon_intro zenon_H58d.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H58d). zenon_intro zenon_H590. zenon_intro zenon_H58f.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H58f). zenon_intro zenon_Hf0. zenon_intro zenon_H591.
% 47.42/47.59  exact (zenon_Hf0 zenon_He9).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H587); [ zenon_intro zenon_H593 | zenon_intro zenon_H592 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H593). zenon_intro zenon_Hf8. zenon_intro zenon_H594.
% 47.42/47.59  exact (zenon_Hf8 zenon_Hf1).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H592); [ zenon_intro zenon_H596 | zenon_intro zenon_H595 ].
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H596). zenon_intro zenon_H598. zenon_intro zenon_H597.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H597). zenon_intro zenon_H59a. zenon_intro zenon_H599.
% 47.42/47.59  apply (zenon_notor_s _ _ zenon_H599). zenon_intro zenon_H100. zenon_intro zenon_H59b.
% 47.42/47.59  exact (zenon_H100 zenon_Hf9).
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H595); [ zenon_intro zenon_H59d | zenon_intro zenon_H59c ].
% 47.42/47.59  cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H59e].
% 47.42/47.59  cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H485].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H485 zenon_H10).
% 47.42/47.59  apply zenon_H59e. apply sym_equal. exact zenon_H10.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H59c); [ zenon_intro zenon_H5a0 | zenon_intro zenon_H59f ].
% 47.42/47.59  cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H416].
% 47.42/47.59  cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H485].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H485 zenon_H10).
% 47.42/47.59  apply zenon_H416. apply sym_equal. exact zenon_H7.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H59f); [ zenon_intro zenon_H5a2 | zenon_intro zenon_H5a1 ].
% 47.42/47.59  cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H42c].
% 47.42/47.59  cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H485].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H485 zenon_H10).
% 47.42/47.59  apply zenon_H42c. apply sym_equal. exact zenon_H2f.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5a1); [ zenon_intro zenon_H5a4 | zenon_intro zenon_H5a3 ].
% 47.42/47.59  cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H442].
% 47.42/47.59  cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H485].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H485 zenon_H10).
% 47.42/47.59  apply zenon_H442. apply sym_equal. exact zenon_H38.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5a3); [ zenon_intro zenon_H5a6 | zenon_intro zenon_H5a5 ].
% 47.42/47.59  cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H458].
% 47.42/47.59  cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H485].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H485 zenon_H10).
% 47.42/47.59  apply zenon_H458. apply sym_equal. exact zenon_H1b.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5a5); [ zenon_intro zenon_H5a8 | zenon_intro zenon_H5a7 ].
% 47.42/47.59  cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46e].
% 47.42/47.59  cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H485].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H485 zenon_H10).
% 47.42/47.59  apply zenon_H46e. apply sym_equal. exact zenon_H26.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5a7); [ zenon_intro zenon_H5aa | zenon_intro zenon_H5a9 ].
% 47.42/47.59  cut (((op (e1) (e0)) = (e1)) = ((op (op (e0) (e1)) (e0)) = (op (e0) (op (e1) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5aa.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H8.
% 47.42/47.59  cut (((e1) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 47.42/47.59  cut (((op (e1) (e0)) = (op (op (e0) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5ab].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e1)) (e0)) = (op (op (e0) (e1)) (e0)))); [ zenon_intro zenon_H5ac | zenon_intro zenon_H5ad ].
% 47.42/47.59  cut (((op (op (e0) (e1)) (e0)) = (op (op (e0) (e1)) (e0))) = ((op (e1) (e0)) = (op (op (e0) (e1)) (e0)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5ab.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H5ac.
% 47.42/47.59  cut (((op (op (e0) (e1)) (e0)) = (op (op (e0) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5ad].
% 47.42/47.59  cut (((op (op (e0) (e1)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5ae].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.59  cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H48b].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H48b zenon_H7).
% 47.42/47.59  apply zenon_H5. apply refl_equal.
% 47.42/47.59  apply zenon_H5ad. apply refl_equal.
% 47.42/47.59  apply zenon_H5ad. apply refl_equal.
% 47.42/47.59  apply (zenon_L3_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5a9); [ zenon_intro zenon_H5b0 | zenon_intro zenon_H5af ].
% 47.42/47.59  cut (((op (e1) (e1)) = (e0)) = ((op (op (e0) (e1)) (e1)) = (op (e0) (op (e1) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5b0.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H11.
% 47.42/47.59  cut (((e0) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 47.42/47.59  cut (((op (e1) (e1)) = (op (op (e0) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5b1].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e1)) (e1)) = (op (op (e0) (e1)) (e1)))); [ zenon_intro zenon_H5b2 | zenon_intro zenon_H5b3 ].
% 47.42/47.59  cut (((op (op (e0) (e1)) (e1)) = (op (op (e0) (e1)) (e1))) = ((op (e1) (e1)) = (op (op (e0) (e1)) (e1)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5b1.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H5b2.
% 47.42/47.59  cut (((op (op (e0) (e1)) (e1)) = (op (op (e0) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5b3].
% 47.42/47.59  cut (((op (op (e0) (e1)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5b4].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.59  cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H48b].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H48b zenon_H7).
% 47.42/47.59  apply zenon_H6. apply refl_equal.
% 47.42/47.59  apply zenon_H5b3. apply refl_equal.
% 47.42/47.59  apply zenon_H5b3. apply refl_equal.
% 47.42/47.59  apply (zenon_L4_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5af); [ zenon_intro zenon_H5b6 | zenon_intro zenon_H5b5 ].
% 47.42/47.59  cut (((op (e1) (e2)) = (e4)) = ((op (op (e0) (e1)) (e2)) = (op (e0) (op (e1) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5b6.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H1c.
% 47.42/47.59  cut (((e4) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 47.42/47.59  cut (((op (e1) (e2)) = (op (op (e0) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5b7].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e1)) (e2)) = (op (op (e0) (e1)) (e2)))); [ zenon_intro zenon_H5b8 | zenon_intro zenon_H5b9 ].
% 47.42/47.59  cut (((op (op (e0) (e1)) (e2)) = (op (op (e0) (e1)) (e2))) = ((op (e1) (e2)) = (op (op (e0) (e1)) (e2)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5b7.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H5b8.
% 47.42/47.59  cut (((op (op (e0) (e1)) (e2)) = (op (op (e0) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5b9].
% 47.42/47.59  cut (((op (op (e0) (e1)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5ba].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.59  cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H48b].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H48b zenon_H7).
% 47.42/47.59  apply zenon_H19. apply refl_equal.
% 47.42/47.59  apply zenon_H5b9. apply refl_equal.
% 47.42/47.59  apply zenon_H5b9. apply refl_equal.
% 47.42/47.59  apply (zenon_L7_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5b5); [ zenon_intro zenon_H5bc | zenon_intro zenon_H5bb ].
% 47.42/47.59  cut (((op (e1) (e3)) = (e5)) = ((op (op (e0) (e1)) (e3)) = (op (e0) (op (e1) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5bc.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H27.
% 47.42/47.59  cut (((e5) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H28].
% 47.42/47.59  cut (((op (e1) (e3)) = (op (op (e0) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5bd].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e1)) (e3)) = (op (op (e0) (e1)) (e3)))); [ zenon_intro zenon_H5be | zenon_intro zenon_H5bf ].
% 47.42/47.59  cut (((op (op (e0) (e1)) (e3)) = (op (op (e0) (e1)) (e3))) = ((op (e1) (e3)) = (op (op (e0) (e1)) (e3)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5bd.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H5be.
% 47.42/47.59  cut (((op (op (e0) (e1)) (e3)) = (op (op (e0) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5bf].
% 47.42/47.59  cut (((op (op (e0) (e1)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5c0].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.59  cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H48b].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H48b zenon_H7).
% 47.42/47.59  apply zenon_H24. apply refl_equal.
% 47.42/47.59  apply zenon_H5bf. apply refl_equal.
% 47.42/47.59  apply zenon_H5bf. apply refl_equal.
% 47.42/47.59  apply (zenon_L10_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5bb); [ zenon_intro zenon_H5c2 | zenon_intro zenon_H5c1 ].
% 47.42/47.59  cut (((op (e1) (e4)) = (e2)) = ((op (op (e0) (e1)) (e4)) = (op (e0) (op (e1) (e4))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5c2.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H30.
% 47.42/47.59  cut (((e2) = (op (e0) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H31].
% 47.42/47.59  cut (((op (e1) (e4)) = (op (op (e0) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5c3].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e1)) (e4)) = (op (op (e0) (e1)) (e4)))); [ zenon_intro zenon_H5c4 | zenon_intro zenon_H5c5 ].
% 47.42/47.59  cut (((op (op (e0) (e1)) (e4)) = (op (op (e0) (e1)) (e4))) = ((op (e1) (e4)) = (op (op (e0) (e1)) (e4)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5c3.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H5c4.
% 47.42/47.59  cut (((op (op (e0) (e1)) (e4)) = (op (op (e0) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5c5].
% 47.42/47.59  cut (((op (op (e0) (e1)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5c6].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H48b].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H48b zenon_H7).
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  apply zenon_H5c5. apply refl_equal.
% 47.42/47.59  apply zenon_H5c5. apply refl_equal.
% 47.42/47.59  apply (zenon_L11_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5c1); [ zenon_intro zenon_H5c8 | zenon_intro zenon_H5c7 ].
% 47.42/47.59  cut (((op (e1) (e5)) = (e3)) = ((op (op (e0) (e1)) (e5)) = (op (e0) (op (e1) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5c8.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H39.
% 47.42/47.59  cut (((e3) = (op (e0) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 47.42/47.59  cut (((op (e1) (e5)) = (op (op (e0) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5c9].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e1)) (e5)) = (op (op (e0) (e1)) (e5)))); [ zenon_intro zenon_H5ca | zenon_intro zenon_H5cb ].
% 47.42/47.59  cut (((op (op (e0) (e1)) (e5)) = (op (op (e0) (e1)) (e5))) = ((op (e1) (e5)) = (op (op (e0) (e1)) (e5)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5c9.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H5ca.
% 47.42/47.59  cut (((op (op (e0) (e1)) (e5)) = (op (op (e0) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5cb].
% 47.42/47.59  cut (((op (op (e0) (e1)) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5cc].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H48b].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H48b zenon_H7).
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  apply zenon_H5cb. apply refl_equal.
% 47.42/47.59  apply zenon_H5cb. apply refl_equal.
% 47.42/47.59  apply (zenon_L12_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5c7); [ zenon_intro zenon_H5ce | zenon_intro zenon_H5cd ].
% 47.42/47.59  cut (((op (e2) (e0)) = (e2)) = ((op (op (e0) (e2)) (e0)) = (op (e0) (op (e2) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5ce.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H41.
% 47.42/47.59  cut (((e2) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H42].
% 47.42/47.59  cut (((op (e2) (e0)) = (op (op (e0) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5cf].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e2)) (e0)) = (op (op (e0) (e2)) (e0)))); [ zenon_intro zenon_H5d0 | zenon_intro zenon_H5d1 ].
% 47.42/47.59  cut (((op (op (e0) (e2)) (e0)) = (op (op (e0) (e2)) (e0))) = ((op (e2) (e0)) = (op (op (e0) (e2)) (e0)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5cf.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H5d0.
% 47.42/47.59  cut (((op (op (e0) (e2)) (e0)) = (op (op (e0) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5d1].
% 47.42/47.59  cut (((op (op (e0) (e2)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5d2].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.59  cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H493].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H493 zenon_H2f).
% 47.42/47.59  apply zenon_H5. apply refl_equal.
% 47.42/47.59  apply zenon_H5d1. apply refl_equal.
% 47.42/47.59  apply zenon_H5d1. apply refl_equal.
% 47.42/47.59  apply (zenon_L13_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5cd); [ zenon_intro zenon_H5d4 | zenon_intro zenon_H5d3 ].
% 47.42/47.59  cut (((op (e2) (e1)) = (e4)) = ((op (op (e0) (e2)) (e1)) = (op (e0) (op (e2) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5d4.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H49.
% 47.42/47.59  cut (((e4) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H4a].
% 47.42/47.59  cut (((op (e2) (e1)) = (op (op (e0) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5d5].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e2)) (e1)) = (op (op (e0) (e2)) (e1)))); [ zenon_intro zenon_H5d6 | zenon_intro zenon_H5d7 ].
% 47.42/47.59  cut (((op (op (e0) (e2)) (e1)) = (op (op (e0) (e2)) (e1))) = ((op (e2) (e1)) = (op (op (e0) (e2)) (e1)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5d5.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H5d6.
% 47.42/47.59  cut (((op (op (e0) (e2)) (e1)) = (op (op (e0) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5d7].
% 47.42/47.59  cut (((op (op (e0) (e2)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5d8].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.59  cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H493].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H493 zenon_H2f).
% 47.42/47.59  apply zenon_H6. apply refl_equal.
% 47.42/47.59  apply zenon_H5d7. apply refl_equal.
% 47.42/47.59  apply zenon_H5d7. apply refl_equal.
% 47.42/47.59  apply (zenon_L14_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5d3); [ zenon_intro zenon_H5da | zenon_intro zenon_H5d9 ].
% 47.42/47.59  cut (((op (e2) (e2)) = (e3)) = ((op (op (e0) (e2)) (e2)) = (op (e0) (op (e2) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5da.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H51.
% 47.42/47.59  cut (((e3) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 47.42/47.59  cut (((op (e2) (e2)) = (op (op (e0) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5db].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e2)) (e2)) = (op (op (e0) (e2)) (e2)))); [ zenon_intro zenon_H5dc | zenon_intro zenon_H5dd ].
% 47.42/47.59  cut (((op (op (e0) (e2)) (e2)) = (op (op (e0) (e2)) (e2))) = ((op (e2) (e2)) = (op (op (e0) (e2)) (e2)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5db.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H5dc.
% 47.42/47.59  cut (((op (op (e0) (e2)) (e2)) = (op (op (e0) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5dd].
% 47.42/47.59  cut (((op (op (e0) (e2)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5de].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.59  cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H493].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H493 zenon_H2f).
% 47.42/47.59  apply zenon_H19. apply refl_equal.
% 47.42/47.59  apply zenon_H5dd. apply refl_equal.
% 47.42/47.59  apply zenon_H5dd. apply refl_equal.
% 47.42/47.59  apply (zenon_L15_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5d9); [ zenon_intro zenon_H5e0 | zenon_intro zenon_H5df ].
% 47.42/47.59  cut (((op (e2) (e3)) = (e0)) = ((op (op (e0) (e2)) (e3)) = (op (e0) (op (e2) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5e0.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H59.
% 47.42/47.59  cut (((e0) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 47.42/47.59  cut (((op (e2) (e3)) = (op (op (e0) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5e1].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e2)) (e3)) = (op (op (e0) (e2)) (e3)))); [ zenon_intro zenon_H5e2 | zenon_intro zenon_H5e3 ].
% 47.42/47.59  cut (((op (op (e0) (e2)) (e3)) = (op (op (e0) (e2)) (e3))) = ((op (e2) (e3)) = (op (op (e0) (e2)) (e3)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5e1.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H5e2.
% 47.42/47.59  cut (((op (op (e0) (e2)) (e3)) = (op (op (e0) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5e3].
% 47.42/47.59  cut (((op (op (e0) (e2)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5e4].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.59  cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H493].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H493 zenon_H2f).
% 47.42/47.59  apply zenon_H24. apply refl_equal.
% 47.42/47.59  apply zenon_H5e3. apply refl_equal.
% 47.42/47.59  apply zenon_H5e3. apply refl_equal.
% 47.42/47.59  apply (zenon_L16_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5df); [ zenon_intro zenon_H5e6 | zenon_intro zenon_H5e5 ].
% 47.42/47.59  cut (((op (e2) (e4)) = (e5)) = ((op (op (e0) (e2)) (e4)) = (op (e0) (op (e2) (e4))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5e6.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H61.
% 47.42/47.59  cut (((e5) = (op (e0) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 47.42/47.59  cut (((op (e2) (e4)) = (op (op (e0) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5e7].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e2)) (e4)) = (op (op (e0) (e2)) (e4)))); [ zenon_intro zenon_H5e8 | zenon_intro zenon_H5e9 ].
% 47.42/47.59  cut (((op (op (e0) (e2)) (e4)) = (op (op (e0) (e2)) (e4))) = ((op (e2) (e4)) = (op (op (e0) (e2)) (e4)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5e7.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H5e8.
% 47.42/47.59  cut (((op (op (e0) (e2)) (e4)) = (op (op (e0) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5e9].
% 47.42/47.59  cut (((op (op (e0) (e2)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H5ea].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H493].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H493 zenon_H2f).
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  apply zenon_H5e9. apply refl_equal.
% 47.42/47.59  apply zenon_H5e9. apply refl_equal.
% 47.42/47.59  apply (zenon_L17_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5e5); [ zenon_intro zenon_H5ec | zenon_intro zenon_H5eb ].
% 47.42/47.59  cut (((op (e2) (e5)) = (e1)) = ((op (op (e0) (e2)) (e5)) = (op (e0) (op (e2) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5ec.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H69.
% 47.42/47.59  cut (((e1) = (op (e0) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 47.42/47.59  cut (((op (e2) (e5)) = (op (op (e0) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5ed].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e2)) (e5)) = (op (op (e0) (e2)) (e5)))); [ zenon_intro zenon_H5ee | zenon_intro zenon_H5ef ].
% 47.42/47.59  cut (((op (op (e0) (e2)) (e5)) = (op (op (e0) (e2)) (e5))) = ((op (e2) (e5)) = (op (op (e0) (e2)) (e5)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5ed.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H5ee.
% 47.42/47.59  cut (((op (op (e0) (e2)) (e5)) = (op (op (e0) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5ef].
% 47.42/47.59  cut (((op (op (e0) (e2)) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H5f0].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H493].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H493 zenon_H2f).
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  apply zenon_H5ef. apply refl_equal.
% 47.42/47.59  apply zenon_H5ef. apply refl_equal.
% 47.42/47.59  apply (zenon_L18_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5eb); [ zenon_intro zenon_H5f2 | zenon_intro zenon_H5f1 ].
% 47.42/47.59  cut (((op (e3) (e0)) = (e3)) = ((op (op (e0) (e3)) (e0)) = (op (e0) (op (e3) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5f2.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H71.
% 47.42/47.59  cut (((e3) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 47.42/47.59  cut (((op (e3) (e0)) = (op (op (e0) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5f3].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e3)) (e0)) = (op (op (e0) (e3)) (e0)))); [ zenon_intro zenon_H5f4 | zenon_intro zenon_H5f5 ].
% 47.42/47.59  cut (((op (op (e0) (e3)) (e0)) = (op (op (e0) (e3)) (e0))) = ((op (e3) (e0)) = (op (op (e0) (e3)) (e0)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5f3.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H5f4.
% 47.42/47.59  cut (((op (op (e0) (e3)) (e0)) = (op (op (e0) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5f5].
% 47.42/47.59  cut (((op (op (e0) (e3)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5f6].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.59  cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H49d].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H49d zenon_H38).
% 47.42/47.59  apply zenon_H5. apply refl_equal.
% 47.42/47.59  apply zenon_H5f5. apply refl_equal.
% 47.42/47.59  apply zenon_H5f5. apply refl_equal.
% 47.42/47.59  apply (zenon_L19_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5f1); [ zenon_intro zenon_H5f8 | zenon_intro zenon_H5f7 ].
% 47.42/47.59  cut (((op (e3) (e1)) = (e5)) = ((op (op (e0) (e3)) (e1)) = (op (e0) (op (e3) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5f8.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H79.
% 47.42/47.59  cut (((e5) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 47.42/47.59  cut (((op (e3) (e1)) = (op (op (e0) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5f9].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e3)) (e1)) = (op (op (e0) (e3)) (e1)))); [ zenon_intro zenon_H5fa | zenon_intro zenon_H5fb ].
% 47.42/47.59  cut (((op (op (e0) (e3)) (e1)) = (op (op (e0) (e3)) (e1))) = ((op (e3) (e1)) = (op (op (e0) (e3)) (e1)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5f9.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H5fa.
% 47.42/47.59  cut (((op (op (e0) (e3)) (e1)) = (op (op (e0) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5fb].
% 47.42/47.59  cut (((op (op (e0) (e3)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5fc].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.59  cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H49d].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H49d zenon_H38).
% 47.42/47.59  apply zenon_H6. apply refl_equal.
% 47.42/47.59  apply zenon_H5fb. apply refl_equal.
% 47.42/47.59  apply zenon_H5fb. apply refl_equal.
% 47.42/47.59  apply (zenon_L20_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5f7); [ zenon_intro zenon_H5fe | zenon_intro zenon_H5fd ].
% 47.42/47.59  cut (((op (e3) (e2)) = (e0)) = ((op (op (e0) (e3)) (e2)) = (op (e0) (op (e3) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5fe.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H81.
% 47.42/47.59  cut (((e0) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 47.42/47.59  cut (((op (e3) (e2)) = (op (op (e0) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5ff].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e3)) (e2)) = (op (op (e0) (e3)) (e2)))); [ zenon_intro zenon_H600 | zenon_intro zenon_H601 ].
% 47.42/47.59  cut (((op (op (e0) (e3)) (e2)) = (op (op (e0) (e3)) (e2))) = ((op (e3) (e2)) = (op (op (e0) (e3)) (e2)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H5ff.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H600.
% 47.42/47.59  cut (((op (op (e0) (e3)) (e2)) = (op (op (e0) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H601].
% 47.42/47.59  cut (((op (op (e0) (e3)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H602].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.59  cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H49d].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H49d zenon_H38).
% 47.42/47.59  apply zenon_H19. apply refl_equal.
% 47.42/47.59  apply zenon_H601. apply refl_equal.
% 47.42/47.59  apply zenon_H601. apply refl_equal.
% 47.42/47.59  apply (zenon_L21_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H5fd); [ zenon_intro zenon_H604 | zenon_intro zenon_H603 ].
% 47.42/47.59  cut (((op (e3) (e3)) = (e2)) = ((op (op (e0) (e3)) (e3)) = (op (e0) (op (e3) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H604.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H89.
% 47.42/47.59  cut (((e2) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H8a].
% 47.42/47.59  cut (((op (e3) (e3)) = (op (op (e0) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H605].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e3)) (e3)) = (op (op (e0) (e3)) (e3)))); [ zenon_intro zenon_H606 | zenon_intro zenon_H607 ].
% 47.42/47.59  cut (((op (op (e0) (e3)) (e3)) = (op (op (e0) (e3)) (e3))) = ((op (e3) (e3)) = (op (op (e0) (e3)) (e3)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H605.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H606.
% 47.42/47.59  cut (((op (op (e0) (e3)) (e3)) = (op (op (e0) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H607].
% 47.42/47.59  cut (((op (op (e0) (e3)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H608].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.59  cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H49d].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H49d zenon_H38).
% 47.42/47.59  apply zenon_H24. apply refl_equal.
% 47.42/47.59  apply zenon_H607. apply refl_equal.
% 47.42/47.59  apply zenon_H607. apply refl_equal.
% 47.42/47.59  apply (zenon_L22_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H603); [ zenon_intro zenon_H60a | zenon_intro zenon_H609 ].
% 47.42/47.59  cut (((op (e3) (e4)) = (e1)) = ((op (op (e0) (e3)) (e4)) = (op (e0) (op (e3) (e4))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H60a.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H91.
% 47.42/47.59  cut (((e1) = (op (e0) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H92].
% 47.42/47.59  cut (((op (e3) (e4)) = (op (op (e0) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H60b].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e3)) (e4)) = (op (op (e0) (e3)) (e4)))); [ zenon_intro zenon_H60c | zenon_intro zenon_H60d ].
% 47.42/47.59  cut (((op (op (e0) (e3)) (e4)) = (op (op (e0) (e3)) (e4))) = ((op (e3) (e4)) = (op (op (e0) (e3)) (e4)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H60b.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H60c.
% 47.42/47.59  cut (((op (op (e0) (e3)) (e4)) = (op (op (e0) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H60d].
% 47.42/47.59  cut (((op (op (e0) (e3)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H60e].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H49d].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H49d zenon_H38).
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  apply zenon_H60d. apply refl_equal.
% 47.42/47.59  apply zenon_H60d. apply refl_equal.
% 47.42/47.59  apply (zenon_L23_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H609); [ zenon_intro zenon_H610 | zenon_intro zenon_H60f ].
% 47.42/47.59  cut (((op (e3) (e5)) = (e4)) = ((op (op (e0) (e3)) (e5)) = (op (e0) (op (e3) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H610.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H99.
% 47.42/47.59  cut (((e4) = (op (e0) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9a].
% 47.42/47.59  cut (((op (e3) (e5)) = (op (op (e0) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H611].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e3)) (e5)) = (op (op (e0) (e3)) (e5)))); [ zenon_intro zenon_H612 | zenon_intro zenon_H613 ].
% 47.42/47.59  cut (((op (op (e0) (e3)) (e5)) = (op (op (e0) (e3)) (e5))) = ((op (e3) (e5)) = (op (op (e0) (e3)) (e5)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H611.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H612.
% 47.42/47.59  cut (((op (op (e0) (e3)) (e5)) = (op (op (e0) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H613].
% 47.42/47.59  cut (((op (op (e0) (e3)) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H614].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H49d].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H49d zenon_H38).
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  apply zenon_H613. apply refl_equal.
% 47.42/47.59  apply zenon_H613. apply refl_equal.
% 47.42/47.59  apply (zenon_L24_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H60f); [ zenon_intro zenon_H616 | zenon_intro zenon_H615 ].
% 47.42/47.59  cut (((op (e4) (e0)) = (e4)) = ((op (op (e0) (e4)) (e0)) = (op (e0) (op (e4) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H616.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Ha1.
% 47.42/47.59  cut (((e4) = (op (e0) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha2].
% 47.42/47.59  cut (((op (e4) (e0)) = (op (op (e0) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H617].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e4)) (e0)) = (op (op (e0) (e4)) (e0)))); [ zenon_intro zenon_H618 | zenon_intro zenon_H619 ].
% 47.42/47.59  cut (((op (op (e0) (e4)) (e0)) = (op (op (e0) (e4)) (e0))) = ((op (e4) (e0)) = (op (op (e0) (e4)) (e0)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H617.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H618.
% 47.42/47.59  cut (((op (op (e0) (e4)) (e0)) = (op (op (e0) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H619].
% 47.42/47.59  cut (((op (op (e0) (e4)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H61a].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.59  cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H4a9].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H4a9 zenon_H1b).
% 47.42/47.59  apply zenon_H5. apply refl_equal.
% 47.42/47.59  apply zenon_H619. apply refl_equal.
% 47.42/47.59  apply zenon_H619. apply refl_equal.
% 47.42/47.59  apply (zenon_L25_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H615); [ zenon_intro zenon_H61c | zenon_intro zenon_H61b ].
% 47.42/47.59  cut (((op (e4) (e1)) = (e2)) = ((op (op (e0) (e4)) (e1)) = (op (e0) (op (e4) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H61c.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Ha9.
% 47.42/47.59  cut (((e2) = (op (e0) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Haa].
% 47.42/47.59  cut (((op (e4) (e1)) = (op (op (e0) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H61d].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e4)) (e1)) = (op (op (e0) (e4)) (e1)))); [ zenon_intro zenon_H61e | zenon_intro zenon_H61f ].
% 47.42/47.59  cut (((op (op (e0) (e4)) (e1)) = (op (op (e0) (e4)) (e1))) = ((op (e4) (e1)) = (op (op (e0) (e4)) (e1)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H61d.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H61e.
% 47.42/47.59  cut (((op (op (e0) (e4)) (e1)) = (op (op (e0) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H61f].
% 47.42/47.59  cut (((op (op (e0) (e4)) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H620].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.59  cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H4a9].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H4a9 zenon_H1b).
% 47.42/47.59  apply zenon_H6. apply refl_equal.
% 47.42/47.59  apply zenon_H61f. apply refl_equal.
% 47.42/47.59  apply zenon_H61f. apply refl_equal.
% 47.42/47.59  apply (zenon_L26_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H61b); [ zenon_intro zenon_H622 | zenon_intro zenon_H621 ].
% 47.42/47.59  cut (((op (e4) (e2)) = (e5)) = ((op (op (e0) (e4)) (e2)) = (op (e0) (op (e4) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H622.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hb1.
% 47.42/47.59  cut (((e5) = (op (e0) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 47.42/47.59  cut (((op (e4) (e2)) = (op (op (e0) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H623].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e4)) (e2)) = (op (op (e0) (e4)) (e2)))); [ zenon_intro zenon_H624 | zenon_intro zenon_H625 ].
% 47.42/47.59  cut (((op (op (e0) (e4)) (e2)) = (op (op (e0) (e4)) (e2))) = ((op (e4) (e2)) = (op (op (e0) (e4)) (e2)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H623.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H624.
% 47.42/47.59  cut (((op (op (e0) (e4)) (e2)) = (op (op (e0) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H625].
% 47.42/47.59  cut (((op (op (e0) (e4)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H626].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.59  cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H4a9].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H4a9 zenon_H1b).
% 47.42/47.59  apply zenon_H19. apply refl_equal.
% 47.42/47.59  apply zenon_H625. apply refl_equal.
% 47.42/47.59  apply zenon_H625. apply refl_equal.
% 47.42/47.59  apply (zenon_L27_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H621); [ zenon_intro zenon_H628 | zenon_intro zenon_H627 ].
% 47.42/47.59  cut (((op (e4) (e3)) = (e1)) = ((op (op (e0) (e4)) (e3)) = (op (e0) (op (e4) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H628.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hb9.
% 47.42/47.59  cut (((e1) = (op (e0) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 47.42/47.59  cut (((op (e4) (e3)) = (op (op (e0) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H629].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e4)) (e3)) = (op (op (e0) (e4)) (e3)))); [ zenon_intro zenon_H62a | zenon_intro zenon_H62b ].
% 47.42/47.59  cut (((op (op (e0) (e4)) (e3)) = (op (op (e0) (e4)) (e3))) = ((op (e4) (e3)) = (op (op (e0) (e4)) (e3)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H629.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H62a.
% 47.42/47.59  cut (((op (op (e0) (e4)) (e3)) = (op (op (e0) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H62b].
% 47.42/47.59  cut (((op (op (e0) (e4)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H62c].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.59  cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H4a9].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H4a9 zenon_H1b).
% 47.42/47.59  apply zenon_H24. apply refl_equal.
% 47.42/47.59  apply zenon_H62b. apply refl_equal.
% 47.42/47.59  apply zenon_H62b. apply refl_equal.
% 47.42/47.59  apply (zenon_L28_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H627); [ zenon_intro zenon_H62e | zenon_intro zenon_H62d ].
% 47.42/47.59  cut (((op (e4) (e4)) = (e3)) = ((op (op (e0) (e4)) (e4)) = (op (e0) (op (e4) (e4))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H62e.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hc1.
% 47.42/47.59  cut (((e3) = (op (e0) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hc2].
% 47.42/47.59  cut (((op (e4) (e4)) = (op (op (e0) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H62f].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e4)) (e4)) = (op (op (e0) (e4)) (e4)))); [ zenon_intro zenon_H630 | zenon_intro zenon_H631 ].
% 47.42/47.59  cut (((op (op (e0) (e4)) (e4)) = (op (op (e0) (e4)) (e4))) = ((op (e4) (e4)) = (op (op (e0) (e4)) (e4)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H62f.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H630.
% 47.42/47.59  cut (((op (op (e0) (e4)) (e4)) = (op (op (e0) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H631].
% 47.42/47.59  cut (((op (op (e0) (e4)) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H632].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H4a9].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H4a9 zenon_H1b).
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  apply zenon_H631. apply refl_equal.
% 47.42/47.59  apply zenon_H631. apply refl_equal.
% 47.42/47.59  apply (zenon_L29_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H62d); [ zenon_intro zenon_H634 | zenon_intro zenon_H633 ].
% 47.42/47.59  cut (((op (e4) (e5)) = (e0)) = ((op (op (e0) (e4)) (e5)) = (op (e0) (op (e4) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H634.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hc9.
% 47.42/47.59  cut (((e0) = (op (e0) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hca].
% 47.42/47.59  cut (((op (e4) (e5)) = (op (op (e0) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H635].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e4)) (e5)) = (op (op (e0) (e4)) (e5)))); [ zenon_intro zenon_H636 | zenon_intro zenon_H637 ].
% 47.42/47.59  cut (((op (op (e0) (e4)) (e5)) = (op (op (e0) (e4)) (e5))) = ((op (e4) (e5)) = (op (op (e0) (e4)) (e5)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H635.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H636.
% 47.42/47.59  cut (((op (op (e0) (e4)) (e5)) = (op (op (e0) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H637].
% 47.42/47.59  cut (((op (op (e0) (e4)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H638].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H4a9].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H4a9 zenon_H1b).
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  apply zenon_H637. apply refl_equal.
% 47.42/47.59  apply zenon_H637. apply refl_equal.
% 47.42/47.59  apply (zenon_L30_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H633); [ zenon_intro zenon_H63a | zenon_intro zenon_H639 ].
% 47.42/47.59  cut (((op (e5) (e0)) = (e5)) = ((op (op (e0) (e5)) (e0)) = (op (e0) (op (e5) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H63a.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hd1.
% 47.42/47.59  cut (((e5) = (op (e0) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 47.42/47.59  cut (((op (e5) (e0)) = (op (op (e0) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H63b].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e5)) (e0)) = (op (op (e0) (e5)) (e0)))); [ zenon_intro zenon_H63c | zenon_intro zenon_H63d ].
% 47.42/47.59  cut (((op (op (e0) (e5)) (e0)) = (op (op (e0) (e5)) (e0))) = ((op (e5) (e0)) = (op (op (e0) (e5)) (e0)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H63b.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H63c.
% 47.42/47.59  cut (((op (op (e0) (e5)) (e0)) = (op (op (e0) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H63d].
% 47.42/47.59  cut (((op (op (e0) (e5)) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H63e].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.59  cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H4b4].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H4b4 zenon_H26).
% 47.42/47.59  apply zenon_H5. apply refl_equal.
% 47.42/47.59  apply zenon_H63d. apply refl_equal.
% 47.42/47.59  apply zenon_H63d. apply refl_equal.
% 47.42/47.59  apply (zenon_L31_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H639); [ zenon_intro zenon_H640 | zenon_intro zenon_H63f ].
% 47.42/47.59  cut (((op (e5) (e1)) = (e3)) = ((op (op (e0) (e5)) (e1)) = (op (e0) (op (e5) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H640.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hd9.
% 47.42/47.59  cut (((e3) = (op (e0) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hda].
% 47.42/47.59  cut (((op (e5) (e1)) = (op (op (e0) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H641].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e5)) (e1)) = (op (op (e0) (e5)) (e1)))); [ zenon_intro zenon_H642 | zenon_intro zenon_H643 ].
% 47.42/47.59  cut (((op (op (e0) (e5)) (e1)) = (op (op (e0) (e5)) (e1))) = ((op (e5) (e1)) = (op (op (e0) (e5)) (e1)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H641.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H642.
% 47.42/47.59  cut (((op (op (e0) (e5)) (e1)) = (op (op (e0) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H643].
% 47.42/47.59  cut (((op (op (e0) (e5)) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H644].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.59  cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H4b4].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H4b4 zenon_H26).
% 47.42/47.59  apply zenon_H6. apply refl_equal.
% 47.42/47.59  apply zenon_H643. apply refl_equal.
% 47.42/47.59  apply zenon_H643. apply refl_equal.
% 47.42/47.59  apply (zenon_L32_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H63f); [ zenon_intro zenon_H646 | zenon_intro zenon_H645 ].
% 47.42/47.59  cut (((op (e5) (e2)) = (e1)) = ((op (op (e0) (e5)) (e2)) = (op (e0) (op (e5) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H646.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_He1.
% 47.42/47.59  cut (((e1) = (op (e0) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_He2].
% 47.42/47.59  cut (((op (e5) (e2)) = (op (op (e0) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H647].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e5)) (e2)) = (op (op (e0) (e5)) (e2)))); [ zenon_intro zenon_H648 | zenon_intro zenon_H649 ].
% 47.42/47.59  cut (((op (op (e0) (e5)) (e2)) = (op (op (e0) (e5)) (e2))) = ((op (e5) (e2)) = (op (op (e0) (e5)) (e2)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H647.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H648.
% 47.42/47.59  cut (((op (op (e0) (e5)) (e2)) = (op (op (e0) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H649].
% 47.42/47.59  cut (((op (op (e0) (e5)) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H64a].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.59  cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H4b4].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H4b4 zenon_H26).
% 47.42/47.59  apply zenon_H19. apply refl_equal.
% 47.42/47.59  apply zenon_H649. apply refl_equal.
% 47.42/47.59  apply zenon_H649. apply refl_equal.
% 47.42/47.59  apply (zenon_L33_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H645); [ zenon_intro zenon_H64c | zenon_intro zenon_H64b ].
% 47.42/47.59  cut (((op (e5) (e3)) = (e4)) = ((op (op (e0) (e5)) (e3)) = (op (e0) (op (e5) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H64c.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_He9.
% 47.42/47.59  cut (((e4) = (op (e0) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hea].
% 47.42/47.59  cut (((op (e5) (e3)) = (op (op (e0) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H64d].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e5)) (e3)) = (op (op (e0) (e5)) (e3)))); [ zenon_intro zenon_H64e | zenon_intro zenon_H64f ].
% 47.42/47.59  cut (((op (op (e0) (e5)) (e3)) = (op (op (e0) (e5)) (e3))) = ((op (e5) (e3)) = (op (op (e0) (e5)) (e3)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H64d.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H64e.
% 47.42/47.59  cut (((op (op (e0) (e5)) (e3)) = (op (op (e0) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H64f].
% 47.42/47.59  cut (((op (op (e0) (e5)) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H650].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.59  cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H4b4].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H4b4 zenon_H26).
% 47.42/47.59  apply zenon_H24. apply refl_equal.
% 47.42/47.59  apply zenon_H64f. apply refl_equal.
% 47.42/47.59  apply zenon_H64f. apply refl_equal.
% 47.42/47.59  apply (zenon_L34_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H64b); [ zenon_intro zenon_H652 | zenon_intro zenon_H651 ].
% 47.42/47.59  cut (((op (e5) (e4)) = (e0)) = ((op (op (e0) (e5)) (e4)) = (op (e0) (op (e5) (e4))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H652.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hf1.
% 47.42/47.59  cut (((e0) = (op (e0) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hf2].
% 47.42/47.59  cut (((op (e5) (e4)) = (op (op (e0) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H653].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e5)) (e4)) = (op (op (e0) (e5)) (e4)))); [ zenon_intro zenon_H654 | zenon_intro zenon_H655 ].
% 47.42/47.59  cut (((op (op (e0) (e5)) (e4)) = (op (op (e0) (e5)) (e4))) = ((op (e5) (e4)) = (op (op (e0) (e5)) (e4)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H653.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H654.
% 47.42/47.59  cut (((op (op (e0) (e5)) (e4)) = (op (op (e0) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H655].
% 47.42/47.59  cut (((op (op (e0) (e5)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H656].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.59  cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H4b4].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H4b4 zenon_H26).
% 47.42/47.59  apply zenon_H1a. apply refl_equal.
% 47.42/47.59  apply zenon_H655. apply refl_equal.
% 47.42/47.59  apply zenon_H655. apply refl_equal.
% 47.42/47.59  apply (zenon_L35_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H651); [ zenon_intro zenon_H658 | zenon_intro zenon_H657 ].
% 47.42/47.59  cut (((op (e5) (e5)) = (e2)) = ((op (op (e0) (e5)) (e5)) = (op (e0) (op (e5) (e5))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H658.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_Hf9.
% 47.42/47.59  cut (((e2) = (op (e0) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hfa].
% 47.42/47.59  cut (((op (e5) (e5)) = (op (op (e0) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H659].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e0) (e5)) (e5)) = (op (op (e0) (e5)) (e5)))); [ zenon_intro zenon_H65a | zenon_intro zenon_H65b ].
% 47.42/47.59  cut (((op (op (e0) (e5)) (e5)) = (op (op (e0) (e5)) (e5))) = ((op (e5) (e5)) = (op (op (e0) (e5)) (e5)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H659.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H65a.
% 47.42/47.59  cut (((op (op (e0) (e5)) (e5)) = (op (op (e0) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H65b].
% 47.42/47.59  cut (((op (op (e0) (e5)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H65c].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.59  cut (((op (e0) (e5)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H4b4].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H4b4 zenon_H26).
% 47.42/47.59  apply zenon_H25. apply refl_equal.
% 47.42/47.59  apply zenon_H65b. apply refl_equal.
% 47.42/47.59  apply zenon_H65b. apply refl_equal.
% 47.42/47.59  apply (zenon_L36_); trivial.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H657); [ zenon_intro zenon_H65e | zenon_intro zenon_H65d ].
% 47.42/47.59  cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H59e].
% 47.42/47.59  cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_Hf zenon_H8).
% 47.42/47.59  apply zenon_H59e. apply sym_equal. exact zenon_H10.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H65d); [ zenon_intro zenon_H660 | zenon_intro zenon_H65f ].
% 47.42/47.59  cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H416].
% 47.42/47.59  cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_Hf zenon_H8).
% 47.42/47.59  apply zenon_H416. apply sym_equal. exact zenon_H7.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H65f); [ zenon_intro zenon_H662 | zenon_intro zenon_H661 ].
% 47.42/47.59  cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H42c].
% 47.42/47.59  cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_Hf zenon_H8).
% 47.42/47.59  apply zenon_H42c. apply sym_equal. exact zenon_H2f.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H661); [ zenon_intro zenon_H664 | zenon_intro zenon_H663 ].
% 47.42/47.59  cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H442].
% 47.42/47.59  cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_Hf zenon_H8).
% 47.42/47.59  apply zenon_H442. apply sym_equal. exact zenon_H38.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H663); [ zenon_intro zenon_H666 | zenon_intro zenon_H665 ].
% 47.42/47.59  cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H458].
% 47.42/47.59  cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_Hf zenon_H8).
% 47.42/47.59  apply zenon_H458. apply sym_equal. exact zenon_H1b.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H665); [ zenon_intro zenon_H668 | zenon_intro zenon_H667 ].
% 47.42/47.59  cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46e].
% 47.42/47.59  cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_Hf zenon_H8).
% 47.42/47.59  apply zenon_H46e. apply sym_equal. exact zenon_H26.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H667); [ zenon_intro zenon_H66a | zenon_intro zenon_H669 ].
% 47.42/47.59  cut (((op (e0) (e0)) = (e0)) = ((op (op (e1) (e1)) (e0)) = (op (e1) (op (e1) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H66a.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H10.
% 47.42/47.59  cut (((e0) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H66b].
% 47.42/47.59  cut (((op (e0) (e0)) = (op (op (e1) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H66c].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e1) (e1)) (e0)) = (op (op (e1) (e1)) (e0)))); [ zenon_intro zenon_H66d | zenon_intro zenon_H66e ].
% 47.42/47.59  cut (((op (op (e1) (e1)) (e0)) = (op (op (e1) (e1)) (e0))) = ((op (e0) (e0)) = (op (op (e1) (e1)) (e0)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H66c.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H66d.
% 47.42/47.59  cut (((op (op (e1) (e1)) (e0)) = (op (op (e1) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H66e].
% 47.42/47.59  cut (((op (op (e1) (e1)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H66f].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.59  cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H18 zenon_H11).
% 47.42/47.59  apply zenon_H5. apply refl_equal.
% 47.42/47.59  apply zenon_H66e. apply refl_equal.
% 47.42/47.59  apply zenon_H66e. apply refl_equal.
% 47.42/47.59  elim (classic ((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [ zenon_intro zenon_H670 | zenon_intro zenon_H671 ].
% 47.42/47.59  cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0)))) = ((e0) = (op (e1) (op (e1) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H66b.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H670.
% 47.42/47.59  cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H671].
% 47.42/47.59  cut (((op (e1) (op (e1) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H672].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e1) (e1)) = (e0)) = ((op (e1) (op (e1) (e0))) = (e0))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H672.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H11.
% 47.42/47.59  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.59  cut (((op (e1) (e1)) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H673].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [ zenon_intro zenon_H670 | zenon_intro zenon_H671 ].
% 47.42/47.59  cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0)))) = ((op (e1) (e1)) = (op (e1) (op (e1) (e0))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H673.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H670.
% 47.42/47.59  cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H671].
% 47.42/47.59  cut (((op (e1) (op (e1) (e0))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H674].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 47.42/47.59  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H6. apply refl_equal.
% 47.42/47.59  exact (zenon_Hf zenon_H8).
% 47.42/47.59  apply zenon_H671. apply refl_equal.
% 47.42/47.59  apply zenon_H671. apply refl_equal.
% 47.42/47.59  apply zenon_H5. apply refl_equal.
% 47.42/47.59  apply zenon_H671. apply refl_equal.
% 47.42/47.59  apply zenon_H671. apply refl_equal.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H669); [ zenon_intro zenon_H676 | zenon_intro zenon_H675 ].
% 47.42/47.59  cut (((op (e0) (e1)) = (e1)) = ((op (op (e1) (e1)) (e1)) = (op (e1) (op (e1) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H676.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H7.
% 47.42/47.59  cut (((e1) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H677].
% 47.42/47.59  cut (((op (e0) (e1)) = (op (op (e1) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H678].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e1) (e1)) (e1)) = (op (op (e1) (e1)) (e1)))); [ zenon_intro zenon_H679 | zenon_intro zenon_H67a ].
% 47.42/47.59  cut (((op (op (e1) (e1)) (e1)) = (op (op (e1) (e1)) (e1))) = ((op (e0) (e1)) = (op (op (e1) (e1)) (e1)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H678.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H679.
% 47.42/47.59  cut (((op (op (e1) (e1)) (e1)) = (op (op (e1) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H67a].
% 47.42/47.59  cut (((op (op (e1) (e1)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H67b].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.59  cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H18 zenon_H11).
% 47.42/47.59  apply zenon_H6. apply refl_equal.
% 47.42/47.59  apply zenon_H67a. apply refl_equal.
% 47.42/47.59  apply zenon_H67a. apply refl_equal.
% 47.42/47.59  elim (classic ((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [ zenon_intro zenon_H67c | zenon_intro zenon_H67d ].
% 47.42/47.59  cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1)))) = ((e1) = (op (e1) (op (e1) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H677.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H67c.
% 47.42/47.59  cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H67d].
% 47.42/47.59  cut (((op (e1) (op (e1) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H67e].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e1) (e1))) = (e1))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H67e.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H8.
% 47.42/47.59  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.59  cut (((op (e1) (e0)) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H67f].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [ zenon_intro zenon_H67c | zenon_intro zenon_H67d ].
% 47.42/47.59  cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1)))) = ((op (e1) (e0)) = (op (e1) (op (e1) (e1))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H67f.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H67c.
% 47.42/47.59  cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H67d].
% 47.42/47.59  cut (((op (e1) (op (e1) (e1))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H680].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 47.42/47.59  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H6. apply refl_equal.
% 47.42/47.59  exact (zenon_H18 zenon_H11).
% 47.42/47.59  apply zenon_H67d. apply refl_equal.
% 47.42/47.59  apply zenon_H67d. apply refl_equal.
% 47.42/47.59  apply zenon_H6. apply refl_equal.
% 47.42/47.59  apply zenon_H67d. apply refl_equal.
% 47.42/47.59  apply zenon_H67d. apply refl_equal.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H675); [ zenon_intro zenon_H682 | zenon_intro zenon_H681 ].
% 47.42/47.59  cut (((op (e0) (e2)) = (e2)) = ((op (op (e1) (e1)) (e2)) = (op (e1) (op (e1) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H682.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H2f.
% 47.42/47.59  cut (((e2) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H683].
% 47.42/47.59  cut (((op (e0) (e2)) = (op (op (e1) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H684].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (op (e1) (e1)) (e2)) = (op (op (e1) (e1)) (e2)))); [ zenon_intro zenon_H685 | zenon_intro zenon_H686 ].
% 47.42/47.59  cut (((op (op (e1) (e1)) (e2)) = (op (op (e1) (e1)) (e2))) = ((op (e0) (e2)) = (op (op (e1) (e1)) (e2)))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H684.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H685.
% 47.42/47.59  cut (((op (op (e1) (e1)) (e2)) = (op (op (e1) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H686].
% 47.42/47.59  cut (((op (op (e1) (e1)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H687].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.59  cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 47.42/47.59  congruence.
% 47.42/47.59  exact (zenon_H18 zenon_H11).
% 47.42/47.59  apply zenon_H19. apply refl_equal.
% 47.42/47.59  apply zenon_H686. apply refl_equal.
% 47.42/47.59  apply zenon_H686. apply refl_equal.
% 47.42/47.59  elim (classic ((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [ zenon_intro zenon_H688 | zenon_intro zenon_H689 ].
% 47.42/47.59  cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2)))) = ((e2) = (op (e1) (op (e1) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H683.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H688.
% 47.42/47.59  cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H689].
% 47.42/47.59  cut (((op (e1) (op (e1) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H68a].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e1) (e4)) = (e2)) = ((op (e1) (op (e1) (e2))) = (e2))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H68a.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H30.
% 47.42/47.59  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.59  cut (((op (e1) (e4)) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H68b].
% 47.42/47.59  congruence.
% 47.42/47.59  elim (classic ((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [ zenon_intro zenon_H688 | zenon_intro zenon_H689 ].
% 47.42/47.59  cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2)))) = ((op (e1) (e4)) = (op (e1) (op (e1) (e2))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H68b.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H688.
% 47.42/47.59  cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H689].
% 47.42/47.59  cut (((op (e1) (op (e1) (e2))) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H68c].
% 47.42/47.59  congruence.
% 47.42/47.59  cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 47.42/47.59  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.59  congruence.
% 47.42/47.59  apply zenon_H6. apply refl_equal.
% 47.42/47.59  exact (zenon_H23 zenon_H1c).
% 47.42/47.59  apply zenon_H689. apply refl_equal.
% 47.42/47.59  apply zenon_H689. apply refl_equal.
% 47.42/47.59  apply zenon_H19. apply refl_equal.
% 47.42/47.59  apply zenon_H689. apply refl_equal.
% 47.42/47.59  apply zenon_H689. apply refl_equal.
% 47.42/47.59  apply (zenon_notand_s _ _ zenon_H681); [ zenon_intro zenon_H68e | zenon_intro zenon_H68d ].
% 47.42/47.59  cut (((op (e0) (e3)) = (e3)) = ((op (op (e1) (e1)) (e3)) = (op (e1) (op (e1) (e3))))).
% 47.42/47.59  intro zenon_D_pnotp.
% 47.42/47.59  apply zenon_H68e.
% 47.42/47.59  rewrite <- zenon_D_pnotp.
% 47.42/47.59  exact zenon_H38.
% 47.42/47.60  cut (((e3) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H68f].
% 47.42/47.60  cut (((op (e0) (e3)) = (op (op (e1) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H690].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e1)) (e3)) = (op (op (e1) (e1)) (e3)))); [ zenon_intro zenon_H691 | zenon_intro zenon_H692 ].
% 47.42/47.60  cut (((op (op (e1) (e1)) (e3)) = (op (op (e1) (e1)) (e3))) = ((op (e0) (e3)) = (op (op (e1) (e1)) (e3)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H690.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H691.
% 47.42/47.60  cut (((op (op (e1) (e1)) (e3)) = (op (op (e1) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H692].
% 47.42/47.60  cut (((op (op (e1) (e1)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H693].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.60  cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H18 zenon_H11).
% 47.42/47.60  apply zenon_H24. apply refl_equal.
% 47.42/47.60  apply zenon_H692. apply refl_equal.
% 47.42/47.60  apply zenon_H692. apply refl_equal.
% 47.42/47.60  elim (classic ((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [ zenon_intro zenon_H694 | zenon_intro zenon_H695 ].
% 47.42/47.60  cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3)))) = ((e3) = (op (e1) (op (e1) (e3))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H68f.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H694.
% 47.42/47.60  cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H695].
% 47.42/47.60  cut (((op (e1) (op (e1) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H696].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((op (e1) (e5)) = (e3)) = ((op (e1) (op (e1) (e3))) = (e3))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H696.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H39.
% 47.42/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.60  cut (((op (e1) (e5)) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H697].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [ zenon_intro zenon_H694 | zenon_intro zenon_H695 ].
% 47.42/47.60  cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3)))) = ((op (e1) (e5)) = (op (e1) (op (e1) (e3))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H697.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H694.
% 47.42/47.60  cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H695].
% 47.42/47.60  cut (((op (e1) (op (e1) (e3))) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H698].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 47.42/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.60  congruence.
% 47.42/47.60  apply zenon_H6. apply refl_equal.
% 47.42/47.60  exact (zenon_H2e zenon_H27).
% 47.42/47.60  apply zenon_H695. apply refl_equal.
% 47.42/47.60  apply zenon_H695. apply refl_equal.
% 47.42/47.60  apply zenon_H24. apply refl_equal.
% 47.42/47.60  apply zenon_H695. apply refl_equal.
% 47.42/47.60  apply zenon_H695. apply refl_equal.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H68d); [ zenon_intro zenon_H69a | zenon_intro zenon_H699 ].
% 47.42/47.60  cut (((op (e0) (e4)) = (e4)) = ((op (op (e1) (e1)) (e4)) = (op (e1) (op (e1) (e4))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H69a.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H1b.
% 47.42/47.60  cut (((e4) = (op (e1) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H69b].
% 47.42/47.60  cut (((op (e0) (e4)) = (op (op (e1) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H69c].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e1)) (e4)) = (op (op (e1) (e1)) (e4)))); [ zenon_intro zenon_H69d | zenon_intro zenon_H69e ].
% 47.42/47.60  cut (((op (op (e1) (e1)) (e4)) = (op (op (e1) (e1)) (e4))) = ((op (e0) (e4)) = (op (op (e1) (e1)) (e4)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H69c.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H69d.
% 47.42/47.60  cut (((op (op (e1) (e1)) (e4)) = (op (op (e1) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H69e].
% 47.42/47.60  cut (((op (op (e1) (e1)) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H69f].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.60  cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H18 zenon_H11).
% 47.42/47.60  apply zenon_H1a. apply refl_equal.
% 47.42/47.60  apply zenon_H69e. apply refl_equal.
% 47.42/47.60  apply zenon_H69e. apply refl_equal.
% 47.42/47.60  elim (classic ((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4))))); [ zenon_intro zenon_H6a0 | zenon_intro zenon_H6a1 ].
% 47.42/47.60  cut (((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4)))) = ((e4) = (op (e1) (op (e1) (e4))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H69b.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6a0.
% 47.42/47.60  cut (((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H6a1].
% 47.42/47.60  cut (((op (e1) (op (e1) (e4))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H6a2].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((op (e1) (e2)) = (e4)) = ((op (e1) (op (e1) (e4))) = (e4))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6a2.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H1c.
% 47.42/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.60  cut (((op (e1) (e2)) = (op (e1) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H6a3].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4))))); [ zenon_intro zenon_H6a0 | zenon_intro zenon_H6a1 ].
% 47.42/47.60  cut (((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4)))) = ((op (e1) (e2)) = (op (e1) (op (e1) (e4))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6a3.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6a0.
% 47.42/47.60  cut (((op (e1) (op (e1) (e4))) = (op (e1) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H6a1].
% 47.42/47.60  cut (((op (e1) (op (e1) (e4))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6a4].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 47.42/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.60  congruence.
% 47.42/47.60  apply zenon_H6. apply refl_equal.
% 47.42/47.60  exact (zenon_H37 zenon_H30).
% 47.42/47.60  apply zenon_H6a1. apply refl_equal.
% 47.42/47.60  apply zenon_H6a1. apply refl_equal.
% 47.42/47.60  apply zenon_H1a. apply refl_equal.
% 47.42/47.60  apply zenon_H6a1. apply refl_equal.
% 47.42/47.60  apply zenon_H6a1. apply refl_equal.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H699); [ zenon_intro zenon_H6a6 | zenon_intro zenon_H6a5 ].
% 47.42/47.60  cut (((op (e0) (e5)) = (e5)) = ((op (op (e1) (e1)) (e5)) = (op (e1) (op (e1) (e5))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6a6.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H26.
% 47.42/47.60  cut (((e5) = (op (e1) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6a7].
% 47.42/47.60  cut (((op (e0) (e5)) = (op (op (e1) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6a8].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e1)) (e5)) = (op (op (e1) (e1)) (e5)))); [ zenon_intro zenon_H6a9 | zenon_intro zenon_H6aa ].
% 47.42/47.60  cut (((op (op (e1) (e1)) (e5)) = (op (op (e1) (e1)) (e5))) = ((op (e0) (e5)) = (op (op (e1) (e1)) (e5)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6a8.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6a9.
% 47.42/47.60  cut (((op (op (e1) (e1)) (e5)) = (op (op (e1) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6aa].
% 47.42/47.60  cut (((op (op (e1) (e1)) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6ab].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.60  cut (((op (e1) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H18 zenon_H11).
% 47.42/47.60  apply zenon_H25. apply refl_equal.
% 47.42/47.60  apply zenon_H6aa. apply refl_equal.
% 47.42/47.60  apply zenon_H6aa. apply refl_equal.
% 47.42/47.60  elim (classic ((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5))))); [ zenon_intro zenon_H6ac | zenon_intro zenon_H6ad ].
% 47.42/47.60  cut (((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5)))) = ((e5) = (op (e1) (op (e1) (e5))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6a7.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6ac.
% 47.42/47.60  cut (((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6ad].
% 47.42/47.60  cut (((op (e1) (op (e1) (e5))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H6ae].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((op (e1) (e3)) = (e5)) = ((op (e1) (op (e1) (e5))) = (e5))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6ae.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H27.
% 47.42/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.60  cut (((op (e1) (e3)) = (op (e1) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6af].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5))))); [ zenon_intro zenon_H6ac | zenon_intro zenon_H6ad ].
% 47.42/47.60  cut (((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5)))) = ((op (e1) (e3)) = (op (e1) (op (e1) (e5))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6af.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6ac.
% 47.42/47.60  cut (((op (e1) (op (e1) (e5))) = (op (e1) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H6ad].
% 47.42/47.60  cut (((op (e1) (op (e1) (e5))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6b0].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 47.42/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.60  congruence.
% 47.42/47.60  apply zenon_H6. apply refl_equal.
% 47.42/47.60  exact (zenon_H40 zenon_H39).
% 47.42/47.60  apply zenon_H6ad. apply refl_equal.
% 47.42/47.60  apply zenon_H6ad. apply refl_equal.
% 47.42/47.60  apply zenon_H25. apply refl_equal.
% 47.42/47.60  apply zenon_H6ad. apply refl_equal.
% 47.42/47.60  apply zenon_H6ad. apply refl_equal.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H6a5); [ zenon_intro zenon_H6b2 | zenon_intro zenon_H6b1 ].
% 47.42/47.60  cut (((op (e4) (e0)) = (e4)) = ((op (op (e1) (e2)) (e0)) = (op (e1) (op (e2) (e0))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6b2.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Ha1.
% 47.42/47.60  cut (((e4) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H101].
% 47.42/47.60  cut (((op (e4) (e0)) = (op (op (e1) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6b3].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e2)) (e0)) = (op (op (e1) (e2)) (e0)))); [ zenon_intro zenon_H6b4 | zenon_intro zenon_H6b5 ].
% 47.42/47.60  cut (((op (op (e1) (e2)) (e0)) = (op (op (e1) (e2)) (e0))) = ((op (e4) (e0)) = (op (op (e1) (e2)) (e0)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6b3.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6b4.
% 47.42/47.60  cut (((op (op (e1) (e2)) (e0)) = (op (op (e1) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6b5].
% 47.42/47.60  cut (((op (op (e1) (e2)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6b6].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.60  cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H23 zenon_H1c).
% 47.42/47.60  apply zenon_H5. apply refl_equal.
% 47.42/47.60  apply zenon_H6b5. apply refl_equal.
% 47.42/47.60  apply zenon_H6b5. apply refl_equal.
% 47.42/47.60  apply (zenon_L37_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H6b1); [ zenon_intro zenon_H6b8 | zenon_intro zenon_H6b7 ].
% 47.42/47.60  cut (((op (e4) (e1)) = (e2)) = ((op (op (e1) (e2)) (e1)) = (op (e1) (op (e2) (e1))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6b8.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Ha9.
% 47.42/47.60  cut (((e2) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H107].
% 47.42/47.60  cut (((op (e4) (e1)) = (op (op (e1) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6b9].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e2)) (e1)) = (op (op (e1) (e2)) (e1)))); [ zenon_intro zenon_H6ba | zenon_intro zenon_H6bb ].
% 47.42/47.60  cut (((op (op (e1) (e2)) (e1)) = (op (op (e1) (e2)) (e1))) = ((op (e4) (e1)) = (op (op (e1) (e2)) (e1)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6b9.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6ba.
% 47.42/47.60  cut (((op (op (e1) (e2)) (e1)) = (op (op (e1) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6bb].
% 47.42/47.60  cut (((op (op (e1) (e2)) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6bc].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.60  cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H23 zenon_H1c).
% 47.42/47.60  apply zenon_H6. apply refl_equal.
% 47.42/47.60  apply zenon_H6bb. apply refl_equal.
% 47.42/47.60  apply zenon_H6bb. apply refl_equal.
% 47.42/47.60  apply (zenon_L38_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H6b7); [ zenon_intro zenon_H6be | zenon_intro zenon_H6bd ].
% 47.42/47.60  cut (((op (e4) (e2)) = (e5)) = ((op (op (e1) (e2)) (e2)) = (op (e1) (op (e2) (e2))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6be.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Hb1.
% 47.42/47.60  cut (((e5) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H10d].
% 47.42/47.60  cut (((op (e4) (e2)) = (op (op (e1) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6bf].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e2)) (e2)) = (op (op (e1) (e2)) (e2)))); [ zenon_intro zenon_H6c0 | zenon_intro zenon_H6c1 ].
% 47.42/47.60  cut (((op (op (e1) (e2)) (e2)) = (op (op (e1) (e2)) (e2))) = ((op (e4) (e2)) = (op (op (e1) (e2)) (e2)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6bf.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6c0.
% 47.42/47.60  cut (((op (op (e1) (e2)) (e2)) = (op (op (e1) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6c1].
% 47.42/47.60  cut (((op (op (e1) (e2)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6c2].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.60  cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H23 zenon_H1c).
% 47.42/47.60  apply zenon_H19. apply refl_equal.
% 47.42/47.60  apply zenon_H6c1. apply refl_equal.
% 47.42/47.60  apply zenon_H6c1. apply refl_equal.
% 47.42/47.60  apply (zenon_L39_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H6bd); [ zenon_intro zenon_H6c4 | zenon_intro zenon_H6c3 ].
% 47.42/47.60  cut (((op (e4) (e3)) = (e1)) = ((op (op (e1) (e2)) (e3)) = (op (e1) (op (e2) (e3))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6c4.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Hb9.
% 47.42/47.60  cut (((e1) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H113].
% 47.42/47.60  cut (((op (e4) (e3)) = (op (op (e1) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6c5].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e2)) (e3)) = (op (op (e1) (e2)) (e3)))); [ zenon_intro zenon_H6c6 | zenon_intro zenon_H6c7 ].
% 47.42/47.60  cut (((op (op (e1) (e2)) (e3)) = (op (op (e1) (e2)) (e3))) = ((op (e4) (e3)) = (op (op (e1) (e2)) (e3)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6c5.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6c6.
% 47.42/47.60  cut (((op (op (e1) (e2)) (e3)) = (op (op (e1) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6c7].
% 47.42/47.60  cut (((op (op (e1) (e2)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6c8].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.60  cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H23 zenon_H1c).
% 47.42/47.60  apply zenon_H24. apply refl_equal.
% 47.42/47.60  apply zenon_H6c7. apply refl_equal.
% 47.42/47.60  apply zenon_H6c7. apply refl_equal.
% 47.42/47.60  apply (zenon_L40_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H6c3); [ zenon_intro zenon_H6ca | zenon_intro zenon_H6c9 ].
% 47.42/47.60  cut (((op (e4) (e4)) = (e3)) = ((op (op (e1) (e2)) (e4)) = (op (e1) (op (e2) (e4))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6ca.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Hc1.
% 47.42/47.60  cut (((e3) = (op (e1) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H119].
% 47.42/47.60  cut (((op (e4) (e4)) = (op (op (e1) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6cb].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e2)) (e4)) = (op (op (e1) (e2)) (e4)))); [ zenon_intro zenon_H6cc | zenon_intro zenon_H6cd ].
% 47.42/47.60  cut (((op (op (e1) (e2)) (e4)) = (op (op (e1) (e2)) (e4))) = ((op (e4) (e4)) = (op (op (e1) (e2)) (e4)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6cb.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6cc.
% 47.42/47.60  cut (((op (op (e1) (e2)) (e4)) = (op (op (e1) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6cd].
% 47.42/47.60  cut (((op (op (e1) (e2)) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6ce].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.60  cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H23 zenon_H1c).
% 47.42/47.60  apply zenon_H1a. apply refl_equal.
% 47.42/47.60  apply zenon_H6cd. apply refl_equal.
% 47.42/47.60  apply zenon_H6cd. apply refl_equal.
% 47.42/47.60  apply (zenon_L41_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H6c9); [ zenon_intro zenon_H6d0 | zenon_intro zenon_H6cf ].
% 47.42/47.60  cut (((op (e4) (e5)) = (e0)) = ((op (op (e1) (e2)) (e5)) = (op (e1) (op (e2) (e5))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6d0.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Hc9.
% 47.42/47.60  cut (((e0) = (op (e1) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H11f].
% 47.42/47.60  cut (((op (e4) (e5)) = (op (op (e1) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6d1].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e2)) (e5)) = (op (op (e1) (e2)) (e5)))); [ zenon_intro zenon_H6d2 | zenon_intro zenon_H6d3 ].
% 47.42/47.60  cut (((op (op (e1) (e2)) (e5)) = (op (op (e1) (e2)) (e5))) = ((op (e4) (e5)) = (op (op (e1) (e2)) (e5)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6d1.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6d2.
% 47.42/47.60  cut (((op (op (e1) (e2)) (e5)) = (op (op (e1) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6d3].
% 47.42/47.60  cut (((op (op (e1) (e2)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6d4].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.60  cut (((op (e1) (e2)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H23 zenon_H1c).
% 47.42/47.60  apply zenon_H25. apply refl_equal.
% 47.42/47.60  apply zenon_H6d3. apply refl_equal.
% 47.42/47.60  apply zenon_H6d3. apply refl_equal.
% 47.42/47.60  apply (zenon_L42_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H6cf); [ zenon_intro zenon_H6d6 | zenon_intro zenon_H6d5 ].
% 47.42/47.60  cut (((op (e5) (e0)) = (e5)) = ((op (op (e1) (e3)) (e0)) = (op (e1) (op (e3) (e0))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6d6.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Hd1.
% 47.42/47.60  cut (((e5) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H125].
% 47.42/47.60  cut (((op (e5) (e0)) = (op (op (e1) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6d7].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e3)) (e0)) = (op (op (e1) (e3)) (e0)))); [ zenon_intro zenon_H6d8 | zenon_intro zenon_H6d9 ].
% 47.42/47.60  cut (((op (op (e1) (e3)) (e0)) = (op (op (e1) (e3)) (e0))) = ((op (e5) (e0)) = (op (op (e1) (e3)) (e0)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6d7.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6d8.
% 47.42/47.60  cut (((op (op (e1) (e3)) (e0)) = (op (op (e1) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6d9].
% 47.42/47.60  cut (((op (op (e1) (e3)) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6da].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.60  cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H2e zenon_H27).
% 47.42/47.60  apply zenon_H5. apply refl_equal.
% 47.42/47.60  apply zenon_H6d9. apply refl_equal.
% 47.42/47.60  apply zenon_H6d9. apply refl_equal.
% 47.42/47.60  apply (zenon_L43_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H6d5); [ zenon_intro zenon_H6dc | zenon_intro zenon_H6db ].
% 47.42/47.60  cut (((op (e5) (e1)) = (e3)) = ((op (op (e1) (e3)) (e1)) = (op (e1) (op (e3) (e1))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6dc.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Hd9.
% 47.42/47.60  cut (((e3) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H12b].
% 47.42/47.60  cut (((op (e5) (e1)) = (op (op (e1) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6dd].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e3)) (e1)) = (op (op (e1) (e3)) (e1)))); [ zenon_intro zenon_H6de | zenon_intro zenon_H6df ].
% 47.42/47.60  cut (((op (op (e1) (e3)) (e1)) = (op (op (e1) (e3)) (e1))) = ((op (e5) (e1)) = (op (op (e1) (e3)) (e1)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6dd.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6de.
% 47.42/47.60  cut (((op (op (e1) (e3)) (e1)) = (op (op (e1) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6df].
% 47.42/47.60  cut (((op (op (e1) (e3)) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6e0].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.60  cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H2e zenon_H27).
% 47.42/47.60  apply zenon_H6. apply refl_equal.
% 47.42/47.60  apply zenon_H6df. apply refl_equal.
% 47.42/47.60  apply zenon_H6df. apply refl_equal.
% 47.42/47.60  apply (zenon_L44_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H6db); [ zenon_intro zenon_H6e2 | zenon_intro zenon_H6e1 ].
% 47.42/47.60  cut (((op (e5) (e2)) = (e1)) = ((op (op (e1) (e3)) (e2)) = (op (e1) (op (e3) (e2))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6e2.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_He1.
% 47.42/47.60  cut (((e1) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H131].
% 47.42/47.60  cut (((op (e5) (e2)) = (op (op (e1) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6e3].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e3)) (e2)) = (op (op (e1) (e3)) (e2)))); [ zenon_intro zenon_H6e4 | zenon_intro zenon_H6e5 ].
% 47.42/47.60  cut (((op (op (e1) (e3)) (e2)) = (op (op (e1) (e3)) (e2))) = ((op (e5) (e2)) = (op (op (e1) (e3)) (e2)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6e3.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6e4.
% 47.42/47.60  cut (((op (op (e1) (e3)) (e2)) = (op (op (e1) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6e5].
% 47.42/47.60  cut (((op (op (e1) (e3)) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H6e6].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.60  cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H2e zenon_H27).
% 47.42/47.60  apply zenon_H19. apply refl_equal.
% 47.42/47.60  apply zenon_H6e5. apply refl_equal.
% 47.42/47.60  apply zenon_H6e5. apply refl_equal.
% 47.42/47.60  apply (zenon_L45_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H6e1); [ zenon_intro zenon_H6e8 | zenon_intro zenon_H6e7 ].
% 47.42/47.60  cut (((op (e5) (e3)) = (e4)) = ((op (op (e1) (e3)) (e3)) = (op (e1) (op (e3) (e3))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6e8.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_He9.
% 47.42/47.60  cut (((e4) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H137].
% 47.42/47.60  cut (((op (e5) (e3)) = (op (op (e1) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6e9].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e3)) (e3)) = (op (op (e1) (e3)) (e3)))); [ zenon_intro zenon_H6ea | zenon_intro zenon_H6eb ].
% 47.42/47.60  cut (((op (op (e1) (e3)) (e3)) = (op (op (e1) (e3)) (e3))) = ((op (e5) (e3)) = (op (op (e1) (e3)) (e3)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6e9.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6ea.
% 47.42/47.60  cut (((op (op (e1) (e3)) (e3)) = (op (op (e1) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6eb].
% 47.42/47.60  cut (((op (op (e1) (e3)) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6ec].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.60  cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H2e zenon_H27).
% 47.42/47.60  apply zenon_H24. apply refl_equal.
% 47.42/47.60  apply zenon_H6eb. apply refl_equal.
% 47.42/47.60  apply zenon_H6eb. apply refl_equal.
% 47.42/47.60  apply (zenon_L46_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H6e7); [ zenon_intro zenon_H6ee | zenon_intro zenon_H6ed ].
% 47.42/47.60  cut (((op (e5) (e4)) = (e0)) = ((op (op (e1) (e3)) (e4)) = (op (e1) (op (e3) (e4))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6ee.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Hf1.
% 47.42/47.60  cut (((e0) = (op (e1) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H13d].
% 47.42/47.60  cut (((op (e5) (e4)) = (op (op (e1) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6ef].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e3)) (e4)) = (op (op (e1) (e3)) (e4)))); [ zenon_intro zenon_H6f0 | zenon_intro zenon_H6f1 ].
% 47.42/47.60  cut (((op (op (e1) (e3)) (e4)) = (op (op (e1) (e3)) (e4))) = ((op (e5) (e4)) = (op (op (e1) (e3)) (e4)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6ef.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6f0.
% 47.42/47.60  cut (((op (op (e1) (e3)) (e4)) = (op (op (e1) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6f1].
% 47.42/47.60  cut (((op (op (e1) (e3)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6f2].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.60  cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H2e zenon_H27).
% 47.42/47.60  apply zenon_H1a. apply refl_equal.
% 47.42/47.60  apply zenon_H6f1. apply refl_equal.
% 47.42/47.60  apply zenon_H6f1. apply refl_equal.
% 47.42/47.60  apply (zenon_L47_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H6ed); [ zenon_intro zenon_H6f4 | zenon_intro zenon_H6f3 ].
% 47.42/47.60  cut (((op (e5) (e5)) = (e2)) = ((op (op (e1) (e3)) (e5)) = (op (e1) (op (e3) (e5))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6f4.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Hf9.
% 47.42/47.60  cut (((e2) = (op (e1) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H143].
% 47.42/47.60  cut (((op (e5) (e5)) = (op (op (e1) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6f5].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e3)) (e5)) = (op (op (e1) (e3)) (e5)))); [ zenon_intro zenon_H6f6 | zenon_intro zenon_H6f7 ].
% 47.42/47.60  cut (((op (op (e1) (e3)) (e5)) = (op (op (e1) (e3)) (e5))) = ((op (e5) (e5)) = (op (op (e1) (e3)) (e5)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6f5.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6f6.
% 47.42/47.60  cut (((op (op (e1) (e3)) (e5)) = (op (op (e1) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6f7].
% 47.42/47.60  cut (((op (op (e1) (e3)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H6f8].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.60  cut (((op (e1) (e3)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H2e zenon_H27).
% 47.42/47.60  apply zenon_H25. apply refl_equal.
% 47.42/47.60  apply zenon_H6f7. apply refl_equal.
% 47.42/47.60  apply zenon_H6f7. apply refl_equal.
% 47.42/47.60  apply (zenon_L48_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H6f3); [ zenon_intro zenon_H6fa | zenon_intro zenon_H6f9 ].
% 47.42/47.60  cut (((op (e2) (e0)) = (e2)) = ((op (op (e1) (e4)) (e0)) = (op (e1) (op (e4) (e0))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6fa.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H41.
% 47.42/47.60  cut (((e2) = (op (e1) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H149].
% 47.42/47.60  cut (((op (e2) (e0)) = (op (op (e1) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6fb].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e4)) (e0)) = (op (op (e1) (e4)) (e0)))); [ zenon_intro zenon_H6fc | zenon_intro zenon_H6fd ].
% 47.42/47.60  cut (((op (op (e1) (e4)) (e0)) = (op (op (e1) (e4)) (e0))) = ((op (e2) (e0)) = (op (op (e1) (e4)) (e0)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H6fb.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H6fc.
% 47.42/47.60  cut (((op (op (e1) (e4)) (e0)) = (op (op (e1) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6fd].
% 47.42/47.60  cut (((op (op (e1) (e4)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6fe].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.60  cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H37 zenon_H30).
% 47.42/47.60  apply zenon_H5. apply refl_equal.
% 47.42/47.60  apply zenon_H6fd. apply refl_equal.
% 47.42/47.60  apply zenon_H6fd. apply refl_equal.
% 47.42/47.60  apply (zenon_L49_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H6f9); [ zenon_intro zenon_H700 | zenon_intro zenon_H6ff ].
% 47.42/47.60  cut (((op (e2) (e1)) = (e4)) = ((op (op (e1) (e4)) (e1)) = (op (e1) (op (e4) (e1))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H700.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H49.
% 47.42/47.60  cut (((e4) = (op (e1) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H14f].
% 47.42/47.60  cut (((op (e2) (e1)) = (op (op (e1) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H701].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e4)) (e1)) = (op (op (e1) (e4)) (e1)))); [ zenon_intro zenon_H702 | zenon_intro zenon_H703 ].
% 47.42/47.60  cut (((op (op (e1) (e4)) (e1)) = (op (op (e1) (e4)) (e1))) = ((op (e2) (e1)) = (op (op (e1) (e4)) (e1)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H701.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H702.
% 47.42/47.60  cut (((op (op (e1) (e4)) (e1)) = (op (op (e1) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H703].
% 47.42/47.60  cut (((op (op (e1) (e4)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H704].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.60  cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H37 zenon_H30).
% 47.42/47.60  apply zenon_H6. apply refl_equal.
% 47.42/47.60  apply zenon_H703. apply refl_equal.
% 47.42/47.60  apply zenon_H703. apply refl_equal.
% 47.42/47.60  apply (zenon_L50_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H6ff); [ zenon_intro zenon_H706 | zenon_intro zenon_H705 ].
% 47.42/47.60  cut (((op (e2) (e2)) = (e3)) = ((op (op (e1) (e4)) (e2)) = (op (e1) (op (e4) (e2))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H706.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H51.
% 47.42/47.60  cut (((e3) = (op (e1) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H155].
% 47.42/47.60  cut (((op (e2) (e2)) = (op (op (e1) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H707].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e4)) (e2)) = (op (op (e1) (e4)) (e2)))); [ zenon_intro zenon_H708 | zenon_intro zenon_H709 ].
% 47.42/47.60  cut (((op (op (e1) (e4)) (e2)) = (op (op (e1) (e4)) (e2))) = ((op (e2) (e2)) = (op (op (e1) (e4)) (e2)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H707.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H708.
% 47.42/47.60  cut (((op (op (e1) (e4)) (e2)) = (op (op (e1) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H709].
% 47.42/47.60  cut (((op (op (e1) (e4)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H70a].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.60  cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H37 zenon_H30).
% 47.42/47.60  apply zenon_H19. apply refl_equal.
% 47.42/47.60  apply zenon_H709. apply refl_equal.
% 47.42/47.60  apply zenon_H709. apply refl_equal.
% 47.42/47.60  apply (zenon_L51_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H705); [ zenon_intro zenon_H70c | zenon_intro zenon_H70b ].
% 47.42/47.60  cut (((op (e2) (e3)) = (e0)) = ((op (op (e1) (e4)) (e3)) = (op (e1) (op (e4) (e3))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H70c.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H59.
% 47.42/47.60  cut (((e0) = (op (e1) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H15b].
% 47.42/47.60  cut (((op (e2) (e3)) = (op (op (e1) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H70d].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e4)) (e3)) = (op (op (e1) (e4)) (e3)))); [ zenon_intro zenon_H70e | zenon_intro zenon_H70f ].
% 47.42/47.60  cut (((op (op (e1) (e4)) (e3)) = (op (op (e1) (e4)) (e3))) = ((op (e2) (e3)) = (op (op (e1) (e4)) (e3)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H70d.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H70e.
% 47.42/47.60  cut (((op (op (e1) (e4)) (e3)) = (op (op (e1) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H70f].
% 47.42/47.60  cut (((op (op (e1) (e4)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H710].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.60  cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H37 zenon_H30).
% 47.42/47.60  apply zenon_H24. apply refl_equal.
% 47.42/47.60  apply zenon_H70f. apply refl_equal.
% 47.42/47.60  apply zenon_H70f. apply refl_equal.
% 47.42/47.60  apply (zenon_L52_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H70b); [ zenon_intro zenon_H712 | zenon_intro zenon_H711 ].
% 47.42/47.60  cut (((op (e2) (e4)) = (e5)) = ((op (op (e1) (e4)) (e4)) = (op (e1) (op (e4) (e4))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H712.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H61.
% 47.42/47.60  cut (((e5) = (op (e1) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H161].
% 47.42/47.60  cut (((op (e2) (e4)) = (op (op (e1) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H713].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e4)) (e4)) = (op (op (e1) (e4)) (e4)))); [ zenon_intro zenon_H714 | zenon_intro zenon_H715 ].
% 47.42/47.60  cut (((op (op (e1) (e4)) (e4)) = (op (op (e1) (e4)) (e4))) = ((op (e2) (e4)) = (op (op (e1) (e4)) (e4)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H713.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H714.
% 47.42/47.60  cut (((op (op (e1) (e4)) (e4)) = (op (op (e1) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H715].
% 47.42/47.60  cut (((op (op (e1) (e4)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H716].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.60  cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H37 zenon_H30).
% 47.42/47.60  apply zenon_H1a. apply refl_equal.
% 47.42/47.60  apply zenon_H715. apply refl_equal.
% 47.42/47.60  apply zenon_H715. apply refl_equal.
% 47.42/47.60  apply (zenon_L53_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H711); [ zenon_intro zenon_H718 | zenon_intro zenon_H717 ].
% 47.42/47.60  cut (((op (e2) (e5)) = (e1)) = ((op (op (e1) (e4)) (e5)) = (op (e1) (op (e4) (e5))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H718.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H69.
% 47.42/47.60  cut (((e1) = (op (e1) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H167].
% 47.42/47.60  cut (((op (e2) (e5)) = (op (op (e1) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H719].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e4)) (e5)) = (op (op (e1) (e4)) (e5)))); [ zenon_intro zenon_H71a | zenon_intro zenon_H71b ].
% 47.42/47.60  cut (((op (op (e1) (e4)) (e5)) = (op (op (e1) (e4)) (e5))) = ((op (e2) (e5)) = (op (op (e1) (e4)) (e5)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H719.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H71a.
% 47.42/47.60  cut (((op (op (e1) (e4)) (e5)) = (op (op (e1) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H71b].
% 47.42/47.60  cut (((op (op (e1) (e4)) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H71c].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.60  cut (((op (e1) (e4)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H37 zenon_H30).
% 47.42/47.60  apply zenon_H25. apply refl_equal.
% 47.42/47.60  apply zenon_H71b. apply refl_equal.
% 47.42/47.60  apply zenon_H71b. apply refl_equal.
% 47.42/47.60  apply (zenon_L54_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H717); [ zenon_intro zenon_H71e | zenon_intro zenon_H71d ].
% 47.42/47.60  cut (((op (e3) (e0)) = (e3)) = ((op (op (e1) (e5)) (e0)) = (op (e1) (op (e5) (e0))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H71e.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H71.
% 47.42/47.60  cut (((e3) = (op (e1) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H16d].
% 47.42/47.60  cut (((op (e3) (e0)) = (op (op (e1) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H71f].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e5)) (e0)) = (op (op (e1) (e5)) (e0)))); [ zenon_intro zenon_H720 | zenon_intro zenon_H721 ].
% 47.42/47.60  cut (((op (op (e1) (e5)) (e0)) = (op (op (e1) (e5)) (e0))) = ((op (e3) (e0)) = (op (op (e1) (e5)) (e0)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H71f.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H720.
% 47.42/47.60  cut (((op (op (e1) (e5)) (e0)) = (op (op (e1) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H721].
% 47.42/47.60  cut (((op (op (e1) (e5)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H722].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.60  cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H40 zenon_H39).
% 47.42/47.60  apply zenon_H5. apply refl_equal.
% 47.42/47.60  apply zenon_H721. apply refl_equal.
% 47.42/47.60  apply zenon_H721. apply refl_equal.
% 47.42/47.60  apply (zenon_L55_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H71d); [ zenon_intro zenon_H724 | zenon_intro zenon_H723 ].
% 47.42/47.60  cut (((op (e3) (e1)) = (e5)) = ((op (op (e1) (e5)) (e1)) = (op (e1) (op (e5) (e1))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H724.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H79.
% 47.42/47.60  cut (((e5) = (op (e1) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H173].
% 47.42/47.60  cut (((op (e3) (e1)) = (op (op (e1) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H725].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e5)) (e1)) = (op (op (e1) (e5)) (e1)))); [ zenon_intro zenon_H726 | zenon_intro zenon_H727 ].
% 47.42/47.60  cut (((op (op (e1) (e5)) (e1)) = (op (op (e1) (e5)) (e1))) = ((op (e3) (e1)) = (op (op (e1) (e5)) (e1)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H725.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H726.
% 47.42/47.60  cut (((op (op (e1) (e5)) (e1)) = (op (op (e1) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H727].
% 47.42/47.60  cut (((op (op (e1) (e5)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H728].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.60  cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H40 zenon_H39).
% 47.42/47.60  apply zenon_H6. apply refl_equal.
% 47.42/47.60  apply zenon_H727. apply refl_equal.
% 47.42/47.60  apply zenon_H727. apply refl_equal.
% 47.42/47.60  apply (zenon_L56_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H723); [ zenon_intro zenon_H72a | zenon_intro zenon_H729 ].
% 47.42/47.60  cut (((op (e3) (e2)) = (e0)) = ((op (op (e1) (e5)) (e2)) = (op (e1) (op (e5) (e2))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H72a.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H81.
% 47.42/47.60  cut (((e0) = (op (e1) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H179].
% 47.42/47.60  cut (((op (e3) (e2)) = (op (op (e1) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H72b].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e5)) (e2)) = (op (op (e1) (e5)) (e2)))); [ zenon_intro zenon_H72c | zenon_intro zenon_H72d ].
% 47.42/47.60  cut (((op (op (e1) (e5)) (e2)) = (op (op (e1) (e5)) (e2))) = ((op (e3) (e2)) = (op (op (e1) (e5)) (e2)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H72b.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H72c.
% 47.42/47.60  cut (((op (op (e1) (e5)) (e2)) = (op (op (e1) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H72d].
% 47.42/47.60  cut (((op (op (e1) (e5)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H72e].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.60  cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H40 zenon_H39).
% 47.42/47.60  apply zenon_H19. apply refl_equal.
% 47.42/47.60  apply zenon_H72d. apply refl_equal.
% 47.42/47.60  apply zenon_H72d. apply refl_equal.
% 47.42/47.60  apply (zenon_L57_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H729); [ zenon_intro zenon_H730 | zenon_intro zenon_H72f ].
% 47.42/47.60  cut (((op (e3) (e3)) = (e2)) = ((op (op (e1) (e5)) (e3)) = (op (e1) (op (e5) (e3))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H730.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H89.
% 47.42/47.60  cut (((e2) = (op (e1) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H17f].
% 47.42/47.60  cut (((op (e3) (e3)) = (op (op (e1) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H731].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e5)) (e3)) = (op (op (e1) (e5)) (e3)))); [ zenon_intro zenon_H732 | zenon_intro zenon_H733 ].
% 47.42/47.60  cut (((op (op (e1) (e5)) (e3)) = (op (op (e1) (e5)) (e3))) = ((op (e3) (e3)) = (op (op (e1) (e5)) (e3)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H731.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H732.
% 47.42/47.60  cut (((op (op (e1) (e5)) (e3)) = (op (op (e1) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H733].
% 47.42/47.60  cut (((op (op (e1) (e5)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H734].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.60  cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H40 zenon_H39).
% 47.42/47.60  apply zenon_H24. apply refl_equal.
% 47.42/47.60  apply zenon_H733. apply refl_equal.
% 47.42/47.60  apply zenon_H733. apply refl_equal.
% 47.42/47.60  apply (zenon_L58_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H72f); [ zenon_intro zenon_H736 | zenon_intro zenon_H735 ].
% 47.42/47.60  cut (((op (e3) (e4)) = (e1)) = ((op (op (e1) (e5)) (e4)) = (op (e1) (op (e5) (e4))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H736.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H91.
% 47.42/47.60  cut (((e1) = (op (e1) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H185].
% 47.42/47.60  cut (((op (e3) (e4)) = (op (op (e1) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H737].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e5)) (e4)) = (op (op (e1) (e5)) (e4)))); [ zenon_intro zenon_H738 | zenon_intro zenon_H739 ].
% 47.42/47.60  cut (((op (op (e1) (e5)) (e4)) = (op (op (e1) (e5)) (e4))) = ((op (e3) (e4)) = (op (op (e1) (e5)) (e4)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H737.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H738.
% 47.42/47.60  cut (((op (op (e1) (e5)) (e4)) = (op (op (e1) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H739].
% 47.42/47.60  cut (((op (op (e1) (e5)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H73a].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.60  cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H40 zenon_H39).
% 47.42/47.60  apply zenon_H1a. apply refl_equal.
% 47.42/47.60  apply zenon_H739. apply refl_equal.
% 47.42/47.60  apply zenon_H739. apply refl_equal.
% 47.42/47.60  apply (zenon_L59_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H735); [ zenon_intro zenon_H73c | zenon_intro zenon_H73b ].
% 47.42/47.60  cut (((op (e3) (e5)) = (e4)) = ((op (op (e1) (e5)) (e5)) = (op (e1) (op (e5) (e5))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H73c.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H99.
% 47.42/47.60  cut (((e4) = (op (e1) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H18b].
% 47.42/47.60  cut (((op (e3) (e5)) = (op (op (e1) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H73d].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e1) (e5)) (e5)) = (op (op (e1) (e5)) (e5)))); [ zenon_intro zenon_H73e | zenon_intro zenon_H73f ].
% 47.42/47.60  cut (((op (op (e1) (e5)) (e5)) = (op (op (e1) (e5)) (e5))) = ((op (e3) (e5)) = (op (op (e1) (e5)) (e5)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H73d.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H73e.
% 47.42/47.60  cut (((op (op (e1) (e5)) (e5)) = (op (op (e1) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H73f].
% 47.42/47.60  cut (((op (op (e1) (e5)) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H740].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.60  cut (((op (e1) (e5)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H40 zenon_H39).
% 47.42/47.60  apply zenon_H25. apply refl_equal.
% 47.42/47.60  apply zenon_H73f. apply refl_equal.
% 47.42/47.60  apply zenon_H73f. apply refl_equal.
% 47.42/47.60  apply (zenon_L60_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H73b); [ zenon_intro zenon_H742 | zenon_intro zenon_H741 ].
% 47.42/47.60  cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H59e].
% 47.42/47.60  cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H48 zenon_H41).
% 47.42/47.60  apply zenon_H59e. apply sym_equal. exact zenon_H10.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H741); [ zenon_intro zenon_H744 | zenon_intro zenon_H743 ].
% 47.42/47.60  cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H416].
% 47.42/47.60  cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H48 zenon_H41).
% 47.42/47.60  apply zenon_H416. apply sym_equal. exact zenon_H7.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H743); [ zenon_intro zenon_H746 | zenon_intro zenon_H745 ].
% 47.42/47.60  cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H42c].
% 47.42/47.60  cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H48 zenon_H41).
% 47.42/47.60  apply zenon_H42c. apply sym_equal. exact zenon_H2f.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H745); [ zenon_intro zenon_H748 | zenon_intro zenon_H747 ].
% 47.42/47.60  cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H442].
% 47.42/47.60  cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H48 zenon_H41).
% 47.42/47.60  apply zenon_H442. apply sym_equal. exact zenon_H38.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H747); [ zenon_intro zenon_H74a | zenon_intro zenon_H749 ].
% 47.42/47.60  cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H458].
% 47.42/47.60  cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H48 zenon_H41).
% 47.42/47.60  apply zenon_H458. apply sym_equal. exact zenon_H1b.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H749); [ zenon_intro zenon_H74c | zenon_intro zenon_H74b ].
% 47.42/47.60  cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46e].
% 47.42/47.60  cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H48 zenon_H41).
% 47.42/47.60  apply zenon_H46e. apply sym_equal. exact zenon_H26.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H74b); [ zenon_intro zenon_H74e | zenon_intro zenon_H74d ].
% 47.42/47.60  cut (((op (e4) (e0)) = (e4)) = ((op (op (e2) (e1)) (e0)) = (op (e2) (op (e1) (e0))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H74e.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Ha1.
% 47.42/47.60  cut (((e4) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H191].
% 47.42/47.60  cut (((op (e4) (e0)) = (op (op (e2) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H74f].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e2) (e1)) (e0)) = (op (op (e2) (e1)) (e0)))); [ zenon_intro zenon_H750 | zenon_intro zenon_H751 ].
% 47.42/47.60  cut (((op (op (e2) (e1)) (e0)) = (op (op (e2) (e1)) (e0))) = ((op (e4) (e0)) = (op (op (e2) (e1)) (e0)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H74f.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H750.
% 47.42/47.60  cut (((op (op (e2) (e1)) (e0)) = (op (op (e2) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H751].
% 47.42/47.60  cut (((op (op (e2) (e1)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H752].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.60  cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H50 zenon_H49).
% 47.42/47.60  apply zenon_H5. apply refl_equal.
% 47.42/47.60  apply zenon_H751. apply refl_equal.
% 47.42/47.60  apply zenon_H751. apply refl_equal.
% 47.42/47.60  apply (zenon_L61_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H74d); [ zenon_intro zenon_H754 | zenon_intro zenon_H753 ].
% 47.42/47.60  cut (((op (e4) (e1)) = (e2)) = ((op (op (e2) (e1)) (e1)) = (op (e2) (op (e1) (e1))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H754.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Ha9.
% 47.42/47.60  cut (((e2) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H197].
% 47.42/47.60  cut (((op (e4) (e1)) = (op (op (e2) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H755].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e2) (e1)) (e1)) = (op (op (e2) (e1)) (e1)))); [ zenon_intro zenon_H756 | zenon_intro zenon_H757 ].
% 47.42/47.60  cut (((op (op (e2) (e1)) (e1)) = (op (op (e2) (e1)) (e1))) = ((op (e4) (e1)) = (op (op (e2) (e1)) (e1)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H755.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H756.
% 47.42/47.60  cut (((op (op (e2) (e1)) (e1)) = (op (op (e2) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H757].
% 47.42/47.60  cut (((op (op (e2) (e1)) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H758].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.60  cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H50 zenon_H49).
% 47.42/47.60  apply zenon_H6. apply refl_equal.
% 47.42/47.60  apply zenon_H757. apply refl_equal.
% 47.42/47.60  apply zenon_H757. apply refl_equal.
% 47.42/47.60  apply (zenon_L62_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H753); [ zenon_intro zenon_H75a | zenon_intro zenon_H759 ].
% 47.42/47.60  cut (((op (e4) (e2)) = (e5)) = ((op (op (e2) (e1)) (e2)) = (op (e2) (op (e1) (e2))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H75a.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Hb1.
% 47.42/47.60  cut (((e5) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H19d].
% 47.42/47.60  cut (((op (e4) (e2)) = (op (op (e2) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H75b].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e2) (e1)) (e2)) = (op (op (e2) (e1)) (e2)))); [ zenon_intro zenon_H75c | zenon_intro zenon_H75d ].
% 47.42/47.60  cut (((op (op (e2) (e1)) (e2)) = (op (op (e2) (e1)) (e2))) = ((op (e4) (e2)) = (op (op (e2) (e1)) (e2)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H75b.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H75c.
% 47.42/47.60  cut (((op (op (e2) (e1)) (e2)) = (op (op (e2) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H75d].
% 47.42/47.60  cut (((op (op (e2) (e1)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H75e].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.60  cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H50 zenon_H49).
% 47.42/47.60  apply zenon_H19. apply refl_equal.
% 47.42/47.60  apply zenon_H75d. apply refl_equal.
% 47.42/47.60  apply zenon_H75d. apply refl_equal.
% 47.42/47.60  apply (zenon_L63_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H759); [ zenon_intro zenon_H760 | zenon_intro zenon_H75f ].
% 47.42/47.60  cut (((op (e4) (e3)) = (e1)) = ((op (op (e2) (e1)) (e3)) = (op (e2) (op (e1) (e3))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H760.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Hb9.
% 47.42/47.60  cut (((e1) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1a3].
% 47.42/47.60  cut (((op (e4) (e3)) = (op (op (e2) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H761].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e2) (e1)) (e3)) = (op (op (e2) (e1)) (e3)))); [ zenon_intro zenon_H762 | zenon_intro zenon_H763 ].
% 47.42/47.60  cut (((op (op (e2) (e1)) (e3)) = (op (op (e2) (e1)) (e3))) = ((op (e4) (e3)) = (op (op (e2) (e1)) (e3)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H761.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H762.
% 47.42/47.60  cut (((op (op (e2) (e1)) (e3)) = (op (op (e2) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H763].
% 47.42/47.60  cut (((op (op (e2) (e1)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H764].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.60  cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H50 zenon_H49).
% 47.42/47.60  apply zenon_H24. apply refl_equal.
% 47.42/47.60  apply zenon_H763. apply refl_equal.
% 47.42/47.60  apply zenon_H763. apply refl_equal.
% 47.42/47.60  apply (zenon_L64_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H75f); [ zenon_intro zenon_H766 | zenon_intro zenon_H765 ].
% 47.42/47.60  cut (((op (e4) (e4)) = (e3)) = ((op (op (e2) (e1)) (e4)) = (op (e2) (op (e1) (e4))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H766.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Hc1.
% 47.42/47.60  cut (((e3) = (op (e2) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1a9].
% 47.42/47.60  cut (((op (e4) (e4)) = (op (op (e2) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H767].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e2) (e1)) (e4)) = (op (op (e2) (e1)) (e4)))); [ zenon_intro zenon_H768 | zenon_intro zenon_H769 ].
% 47.42/47.60  cut (((op (op (e2) (e1)) (e4)) = (op (op (e2) (e1)) (e4))) = ((op (e4) (e4)) = (op (op (e2) (e1)) (e4)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H767.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H768.
% 47.42/47.60  cut (((op (op (e2) (e1)) (e4)) = (op (op (e2) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H769].
% 47.42/47.60  cut (((op (op (e2) (e1)) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H76a].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.60  cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H50 zenon_H49).
% 47.42/47.60  apply zenon_H1a. apply refl_equal.
% 47.42/47.60  apply zenon_H769. apply refl_equal.
% 47.42/47.60  apply zenon_H769. apply refl_equal.
% 47.42/47.60  apply (zenon_L65_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H765); [ zenon_intro zenon_H76c | zenon_intro zenon_H76b ].
% 47.42/47.60  cut (((op (e4) (e5)) = (e0)) = ((op (op (e2) (e1)) (e5)) = (op (e2) (op (e1) (e5))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H76c.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_Hc9.
% 47.42/47.60  cut (((e0) = (op (e2) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1af].
% 47.42/47.60  cut (((op (e4) (e5)) = (op (op (e2) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H76d].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e2) (e1)) (e5)) = (op (op (e2) (e1)) (e5)))); [ zenon_intro zenon_H76e | zenon_intro zenon_H76f ].
% 47.42/47.60  cut (((op (op (e2) (e1)) (e5)) = (op (op (e2) (e1)) (e5))) = ((op (e4) (e5)) = (op (op (e2) (e1)) (e5)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H76d.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H76e.
% 47.42/47.60  cut (((op (op (e2) (e1)) (e5)) = (op (op (e2) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H76f].
% 47.42/47.60  cut (((op (op (e2) (e1)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H770].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.60  cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H50 zenon_H49).
% 47.42/47.60  apply zenon_H25. apply refl_equal.
% 47.42/47.60  apply zenon_H76f. apply refl_equal.
% 47.42/47.60  apply zenon_H76f. apply refl_equal.
% 47.42/47.60  apply (zenon_L66_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H76b); [ zenon_intro zenon_H772 | zenon_intro zenon_H771 ].
% 47.42/47.60  cut (((op (e3) (e0)) = (e3)) = ((op (op (e2) (e2)) (e0)) = (op (e2) (op (e2) (e0))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H772.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H71.
% 47.42/47.60  cut (((e3) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1b5].
% 47.42/47.60  cut (((op (e3) (e0)) = (op (op (e2) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H773].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e2) (e2)) (e0)) = (op (op (e2) (e2)) (e0)))); [ zenon_intro zenon_H774 | zenon_intro zenon_H775 ].
% 47.42/47.60  cut (((op (op (e2) (e2)) (e0)) = (op (op (e2) (e2)) (e0))) = ((op (e3) (e0)) = (op (op (e2) (e2)) (e0)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H773.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H774.
% 47.42/47.60  cut (((op (op (e2) (e2)) (e0)) = (op (op (e2) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H775].
% 47.42/47.60  cut (((op (op (e2) (e2)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H776].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.42/47.60  cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H58 zenon_H51).
% 47.42/47.60  apply zenon_H5. apply refl_equal.
% 47.42/47.60  apply zenon_H775. apply refl_equal.
% 47.42/47.60  apply zenon_H775. apply refl_equal.
% 47.42/47.60  apply (zenon_L67_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H771); [ zenon_intro zenon_H778 | zenon_intro zenon_H777 ].
% 47.42/47.60  cut (((op (e3) (e1)) = (e5)) = ((op (op (e2) (e2)) (e1)) = (op (e2) (op (e2) (e1))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H778.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H79.
% 47.42/47.60  cut (((e5) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1bb].
% 47.42/47.60  cut (((op (e3) (e1)) = (op (op (e2) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H779].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e2) (e2)) (e1)) = (op (op (e2) (e2)) (e1)))); [ zenon_intro zenon_H77a | zenon_intro zenon_H77b ].
% 47.42/47.60  cut (((op (op (e2) (e2)) (e1)) = (op (op (e2) (e2)) (e1))) = ((op (e3) (e1)) = (op (op (e2) (e2)) (e1)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H779.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H77a.
% 47.42/47.60  cut (((op (op (e2) (e2)) (e1)) = (op (op (e2) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H77b].
% 47.42/47.60  cut (((op (op (e2) (e2)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H77c].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.42/47.60  cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H58 zenon_H51).
% 47.42/47.60  apply zenon_H6. apply refl_equal.
% 47.42/47.60  apply zenon_H77b. apply refl_equal.
% 47.42/47.60  apply zenon_H77b. apply refl_equal.
% 47.42/47.60  apply (zenon_L68_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H777); [ zenon_intro zenon_H77e | zenon_intro zenon_H77d ].
% 47.42/47.60  cut (((op (e3) (e2)) = (e0)) = ((op (op (e2) (e2)) (e2)) = (op (e2) (op (e2) (e2))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H77e.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H81.
% 47.42/47.60  cut (((e0) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1c1].
% 47.42/47.60  cut (((op (e3) (e2)) = (op (op (e2) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H77f].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e2) (e2)) (e2)) = (op (op (e2) (e2)) (e2)))); [ zenon_intro zenon_H780 | zenon_intro zenon_H781 ].
% 47.42/47.60  cut (((op (op (e2) (e2)) (e2)) = (op (op (e2) (e2)) (e2))) = ((op (e3) (e2)) = (op (op (e2) (e2)) (e2)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H77f.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H780.
% 47.42/47.60  cut (((op (op (e2) (e2)) (e2)) = (op (op (e2) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H781].
% 47.42/47.60  cut (((op (op (e2) (e2)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H782].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.42/47.60  cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H58 zenon_H51).
% 47.42/47.60  apply zenon_H19. apply refl_equal.
% 47.42/47.60  apply zenon_H781. apply refl_equal.
% 47.42/47.60  apply zenon_H781. apply refl_equal.
% 47.42/47.60  apply (zenon_L69_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H77d); [ zenon_intro zenon_H784 | zenon_intro zenon_H783 ].
% 47.42/47.60  cut (((op (e3) (e3)) = (e2)) = ((op (op (e2) (e2)) (e3)) = (op (e2) (op (e2) (e3))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H784.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H89.
% 47.42/47.60  cut (((e2) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1c7].
% 47.42/47.60  cut (((op (e3) (e3)) = (op (op (e2) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H785].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e2) (e2)) (e3)) = (op (op (e2) (e2)) (e3)))); [ zenon_intro zenon_H786 | zenon_intro zenon_H787 ].
% 47.42/47.60  cut (((op (op (e2) (e2)) (e3)) = (op (op (e2) (e2)) (e3))) = ((op (e3) (e3)) = (op (op (e2) (e2)) (e3)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H785.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H786.
% 47.42/47.60  cut (((op (op (e2) (e2)) (e3)) = (op (op (e2) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H787].
% 47.42/47.60  cut (((op (op (e2) (e2)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H788].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.42/47.60  cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H58 zenon_H51).
% 47.42/47.60  apply zenon_H24. apply refl_equal.
% 47.42/47.60  apply zenon_H787. apply refl_equal.
% 47.42/47.60  apply zenon_H787. apply refl_equal.
% 47.42/47.60  apply (zenon_L70_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H783); [ zenon_intro zenon_H78a | zenon_intro zenon_H789 ].
% 47.42/47.60  cut (((op (e3) (e4)) = (e1)) = ((op (op (e2) (e2)) (e4)) = (op (e2) (op (e2) (e4))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H78a.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H91.
% 47.42/47.60  cut (((e1) = (op (e2) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1cd].
% 47.42/47.60  cut (((op (e3) (e4)) = (op (op (e2) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H78b].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e2) (e2)) (e4)) = (op (op (e2) (e2)) (e4)))); [ zenon_intro zenon_H78c | zenon_intro zenon_H78d ].
% 47.42/47.60  cut (((op (op (e2) (e2)) (e4)) = (op (op (e2) (e2)) (e4))) = ((op (e3) (e4)) = (op (op (e2) (e2)) (e4)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H78b.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H78c.
% 47.42/47.60  cut (((op (op (e2) (e2)) (e4)) = (op (op (e2) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H78d].
% 47.42/47.60  cut (((op (op (e2) (e2)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H78e].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.42/47.60  cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H58 zenon_H51).
% 47.42/47.60  apply zenon_H1a. apply refl_equal.
% 47.42/47.60  apply zenon_H78d. apply refl_equal.
% 47.42/47.60  apply zenon_H78d. apply refl_equal.
% 47.42/47.60  apply (zenon_L71_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H789); [ zenon_intro zenon_H790 | zenon_intro zenon_H78f ].
% 47.42/47.60  cut (((op (e3) (e5)) = (e4)) = ((op (op (e2) (e2)) (e5)) = (op (e2) (op (e2) (e5))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H790.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H99.
% 47.42/47.60  cut (((e4) = (op (e2) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1d3].
% 47.42/47.60  cut (((op (e3) (e5)) = (op (op (e2) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H791].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e2) (e2)) (e5)) = (op (op (e2) (e2)) (e5)))); [ zenon_intro zenon_H792 | zenon_intro zenon_H793 ].
% 47.42/47.60  cut (((op (op (e2) (e2)) (e5)) = (op (op (e2) (e2)) (e5))) = ((op (e3) (e5)) = (op (op (e2) (e2)) (e5)))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H791.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H792.
% 47.42/47.60  cut (((op (op (e2) (e2)) (e5)) = (op (op (e2) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H793].
% 47.42/47.60  cut (((op (op (e2) (e2)) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H794].
% 47.42/47.60  congruence.
% 47.42/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.42/47.60  cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58].
% 47.42/47.60  congruence.
% 47.42/47.60  exact (zenon_H58 zenon_H51).
% 47.42/47.60  apply zenon_H25. apply refl_equal.
% 47.42/47.60  apply zenon_H793. apply refl_equal.
% 47.42/47.60  apply zenon_H793. apply refl_equal.
% 47.42/47.60  apply (zenon_L72_); trivial.
% 47.42/47.60  apply (zenon_notand_s _ _ zenon_H78f); [ zenon_intro zenon_H796 | zenon_intro zenon_H795 ].
% 47.42/47.60  cut (((op (e0) (e0)) = (e0)) = ((op (op (e2) (e3)) (e0)) = (op (e2) (op (e3) (e0))))).
% 47.42/47.60  intro zenon_D_pnotp.
% 47.42/47.60  apply zenon_H796.
% 47.42/47.60  rewrite <- zenon_D_pnotp.
% 47.42/47.60  exact zenon_H10.
% 47.42/47.60  cut (((e0) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H797].
% 47.42/47.60  cut (((op (e0) (e0)) = (op (op (e2) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H798].
% 47.42/47.60  congruence.
% 47.42/47.60  elim (classic ((op (op (e2) (e3)) (e0)) = (op (op (e2) (e3)) (e0)))); [ zenon_intro zenon_H799 | zenon_intro zenon_H79a ].
% 47.44/47.60  cut (((op (op (e2) (e3)) (e0)) = (op (op (e2) (e3)) (e0))) = ((op (e0) (e0)) = (op (op (e2) (e3)) (e0)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H798.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H799.
% 47.44/47.60  cut (((op (op (e2) (e3)) (e0)) = (op (op (e2) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H79a].
% 47.44/47.60  cut (((op (op (e2) (e3)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H79b].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.60  cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H60 zenon_H59).
% 47.44/47.60  apply zenon_H5. apply refl_equal.
% 47.44/47.60  apply zenon_H79a. apply refl_equal.
% 47.44/47.60  apply zenon_H79a. apply refl_equal.
% 47.44/47.60  elim (classic ((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [ zenon_intro zenon_H79c | zenon_intro zenon_H79d ].
% 47.44/47.60  cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0)))) = ((e0) = (op (e2) (op (e3) (e0))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H797.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H79c.
% 47.44/47.60  cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H79d].
% 47.44/47.60  cut (((op (e2) (op (e3) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H79e].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e2) (e3)) = (e0)) = ((op (e2) (op (e3) (e0))) = (e0))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H79e.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H59.
% 47.44/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.60  cut (((op (e2) (e3)) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H79f].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [ zenon_intro zenon_H79c | zenon_intro zenon_H79d ].
% 47.44/47.60  cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0)))) = ((op (e2) (e3)) = (op (e2) (op (e3) (e0))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H79f.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H79c.
% 47.44/47.60  cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H79d].
% 47.44/47.60  cut (((op (e2) (op (e3) (e0))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7a0].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  congruence.
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  exact (zenon_H78 zenon_H71).
% 47.44/47.60  apply zenon_H79d. apply refl_equal.
% 47.44/47.60  apply zenon_H79d. apply refl_equal.
% 47.44/47.60  apply zenon_H5. apply refl_equal.
% 47.44/47.60  apply zenon_H79d. apply refl_equal.
% 47.44/47.60  apply zenon_H79d. apply refl_equal.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H795); [ zenon_intro zenon_H7a2 | zenon_intro zenon_H7a1 ].
% 47.44/47.60  cut (((op (e0) (e1)) = (e1)) = ((op (op (e2) (e3)) (e1)) = (op (e2) (op (e3) (e1))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7a2.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7.
% 47.44/47.60  cut (((e1) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7a3].
% 47.44/47.60  cut (((op (e0) (e1)) = (op (op (e2) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7a4].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e3)) (e1)) = (op (op (e2) (e3)) (e1)))); [ zenon_intro zenon_H7a5 | zenon_intro zenon_H7a6 ].
% 47.44/47.60  cut (((op (op (e2) (e3)) (e1)) = (op (op (e2) (e3)) (e1))) = ((op (e0) (e1)) = (op (op (e2) (e3)) (e1)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7a4.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7a5.
% 47.44/47.60  cut (((op (op (e2) (e3)) (e1)) = (op (op (e2) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7a6].
% 47.44/47.60  cut (((op (op (e2) (e3)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7a7].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.60  cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H60 zenon_H59).
% 47.44/47.60  apply zenon_H6. apply refl_equal.
% 47.44/47.60  apply zenon_H7a6. apply refl_equal.
% 47.44/47.60  apply zenon_H7a6. apply refl_equal.
% 47.44/47.60  elim (classic ((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [ zenon_intro zenon_H7a8 | zenon_intro zenon_H7a9 ].
% 47.44/47.60  cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1)))) = ((e1) = (op (e2) (op (e3) (e1))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7a3.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7a8.
% 47.44/47.60  cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7a9].
% 47.44/47.60  cut (((op (e2) (op (e3) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7aa].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e2) (e5)) = (e1)) = ((op (e2) (op (e3) (e1))) = (e1))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7aa.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H69.
% 47.44/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.60  cut (((op (e2) (e5)) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7ab].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [ zenon_intro zenon_H7a8 | zenon_intro zenon_H7a9 ].
% 47.44/47.60  cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1)))) = ((op (e2) (e5)) = (op (e2) (op (e3) (e1))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7ab.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7a8.
% 47.44/47.60  cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H7a9].
% 47.44/47.60  cut (((op (e2) (op (e3) (e1))) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7ac].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  congruence.
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  exact (zenon_H80 zenon_H79).
% 47.44/47.60  apply zenon_H7a9. apply refl_equal.
% 47.44/47.60  apply zenon_H7a9. apply refl_equal.
% 47.44/47.60  apply zenon_H6. apply refl_equal.
% 47.44/47.60  apply zenon_H7a9. apply refl_equal.
% 47.44/47.60  apply zenon_H7a9. apply refl_equal.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H7a1); [ zenon_intro zenon_H7ae | zenon_intro zenon_H7ad ].
% 47.44/47.60  cut (((op (e0) (e2)) = (e2)) = ((op (op (e2) (e3)) (e2)) = (op (e2) (op (e3) (e2))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7ae.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H2f.
% 47.44/47.60  cut (((e2) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H7af].
% 47.44/47.60  cut (((op (e0) (e2)) = (op (op (e2) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7b0].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e3)) (e2)) = (op (op (e2) (e3)) (e2)))); [ zenon_intro zenon_H7b1 | zenon_intro zenon_H7b2 ].
% 47.44/47.60  cut (((op (op (e2) (e3)) (e2)) = (op (op (e2) (e3)) (e2))) = ((op (e0) (e2)) = (op (op (e2) (e3)) (e2)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7b0.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7b1.
% 47.44/47.60  cut (((op (op (e2) (e3)) (e2)) = (op (op (e2) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7b2].
% 47.44/47.60  cut (((op (op (e2) (e3)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7b3].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H60 zenon_H59).
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  apply zenon_H7b2. apply refl_equal.
% 47.44/47.60  apply zenon_H7b2. apply refl_equal.
% 47.44/47.60  elim (classic ((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [ zenon_intro zenon_H7b4 | zenon_intro zenon_H7b5 ].
% 47.44/47.60  cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2)))) = ((e2) = (op (e2) (op (e3) (e2))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7af.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7b4.
% 47.44/47.60  cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H7b5].
% 47.44/47.60  cut (((op (e2) (op (e3) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H7b6].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e3) (e2))) = (e2))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7b6.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H41.
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  cut (((op (e2) (e0)) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H7b7].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [ zenon_intro zenon_H7b4 | zenon_intro zenon_H7b5 ].
% 47.44/47.60  cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2)))) = ((op (e2) (e0)) = (op (e2) (op (e3) (e2))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7b7.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7b4.
% 47.44/47.60  cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H7b5].
% 47.44/47.60  cut (((op (e2) (op (e3) (e2))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7b8].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  congruence.
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  exact (zenon_H88 zenon_H81).
% 47.44/47.60  apply zenon_H7b5. apply refl_equal.
% 47.44/47.60  apply zenon_H7b5. apply refl_equal.
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  apply zenon_H7b5. apply refl_equal.
% 47.44/47.60  apply zenon_H7b5. apply refl_equal.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H7ad); [ zenon_intro zenon_H7ba | zenon_intro zenon_H7b9 ].
% 47.44/47.60  cut (((op (e0) (e3)) = (e3)) = ((op (op (e2) (e3)) (e3)) = (op (e2) (op (e3) (e3))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7ba.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H38.
% 47.44/47.60  cut (((e3) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H7bb].
% 47.44/47.60  cut (((op (e0) (e3)) = (op (op (e2) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7bc].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e3)) (e3)) = (op (op (e2) (e3)) (e3)))); [ zenon_intro zenon_H7bd | zenon_intro zenon_H7be ].
% 47.44/47.60  cut (((op (op (e2) (e3)) (e3)) = (op (op (e2) (e3)) (e3))) = ((op (e0) (e3)) = (op (op (e2) (e3)) (e3)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7bc.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7bd.
% 47.44/47.60  cut (((op (op (e2) (e3)) (e3)) = (op (op (e2) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7be].
% 47.44/47.60  cut (((op (op (e2) (e3)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7bf].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H60 zenon_H59).
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  apply zenon_H7be. apply refl_equal.
% 47.44/47.60  apply zenon_H7be. apply refl_equal.
% 47.44/47.60  elim (classic ((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [ zenon_intro zenon_H7c0 | zenon_intro zenon_H7c1 ].
% 47.44/47.60  cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3)))) = ((e3) = (op (e2) (op (e3) (e3))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7bb.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7c0.
% 47.44/47.60  cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H7c1].
% 47.44/47.60  cut (((op (e2) (op (e3) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H7c2].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e2) (e2)) = (e3)) = ((op (e2) (op (e3) (e3))) = (e3))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7c2.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H51.
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  cut (((op (e2) (e2)) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H7c3].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [ zenon_intro zenon_H7c0 | zenon_intro zenon_H7c1 ].
% 47.44/47.60  cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3)))) = ((op (e2) (e2)) = (op (e2) (op (e3) (e3))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7c3.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7c0.
% 47.44/47.60  cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H7c1].
% 47.44/47.60  cut (((op (e2) (op (e3) (e3))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7c4].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  congruence.
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  exact (zenon_H90 zenon_H89).
% 47.44/47.60  apply zenon_H7c1. apply refl_equal.
% 47.44/47.60  apply zenon_H7c1. apply refl_equal.
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  apply zenon_H7c1. apply refl_equal.
% 47.44/47.60  apply zenon_H7c1. apply refl_equal.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H7b9); [ zenon_intro zenon_H7c6 | zenon_intro zenon_H7c5 ].
% 47.44/47.60  cut (((op (e0) (e4)) = (e4)) = ((op (op (e2) (e3)) (e4)) = (op (e2) (op (e3) (e4))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7c6.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H1b.
% 47.44/47.60  cut (((e4) = (op (e2) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H7c7].
% 47.44/47.60  cut (((op (e0) (e4)) = (op (op (e2) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7c8].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e3)) (e4)) = (op (op (e2) (e3)) (e4)))); [ zenon_intro zenon_H7c9 | zenon_intro zenon_H7ca ].
% 47.44/47.60  cut (((op (op (e2) (e3)) (e4)) = (op (op (e2) (e3)) (e4))) = ((op (e0) (e4)) = (op (op (e2) (e3)) (e4)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7c8.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7c9.
% 47.44/47.60  cut (((op (op (e2) (e3)) (e4)) = (op (op (e2) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7ca].
% 47.44/47.60  cut (((op (op (e2) (e3)) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7cb].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.60  cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H60 zenon_H59).
% 47.44/47.60  apply zenon_H1a. apply refl_equal.
% 47.44/47.60  apply zenon_H7ca. apply refl_equal.
% 47.44/47.60  apply zenon_H7ca. apply refl_equal.
% 47.44/47.60  elim (classic ((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4))))); [ zenon_intro zenon_H7cc | zenon_intro zenon_H7cd ].
% 47.44/47.60  cut (((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4)))) = ((e4) = (op (e2) (op (e3) (e4))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7c7.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7cc.
% 47.44/47.60  cut (((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H7cd].
% 47.44/47.60  cut (((op (e2) (op (e3) (e4))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H7ce].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e2) (e1)) = (e4)) = ((op (e2) (op (e3) (e4))) = (e4))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7ce.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H49.
% 47.44/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.60  cut (((op (e2) (e1)) = (op (e2) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H7cf].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4))))); [ zenon_intro zenon_H7cc | zenon_intro zenon_H7cd ].
% 47.44/47.60  cut (((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4)))) = ((op (e2) (e1)) = (op (e2) (op (e3) (e4))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7cf.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7cc.
% 47.44/47.60  cut (((op (e2) (op (e3) (e4))) = (op (e2) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H7cd].
% 47.44/47.60  cut (((op (e2) (op (e3) (e4))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7d0].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  congruence.
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  exact (zenon_H98 zenon_H91).
% 47.44/47.60  apply zenon_H7cd. apply refl_equal.
% 47.44/47.60  apply zenon_H7cd. apply refl_equal.
% 47.44/47.60  apply zenon_H1a. apply refl_equal.
% 47.44/47.60  apply zenon_H7cd. apply refl_equal.
% 47.44/47.60  apply zenon_H7cd. apply refl_equal.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H7c5); [ zenon_intro zenon_H7d2 | zenon_intro zenon_H7d1 ].
% 47.44/47.60  cut (((op (e0) (e5)) = (e5)) = ((op (op (e2) (e3)) (e5)) = (op (e2) (op (e3) (e5))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7d2.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H26.
% 47.44/47.60  cut (((e5) = (op (e2) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H7d3].
% 47.44/47.60  cut (((op (e0) (e5)) = (op (op (e2) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7d4].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e3)) (e5)) = (op (op (e2) (e3)) (e5)))); [ zenon_intro zenon_H7d5 | zenon_intro zenon_H7d6 ].
% 47.44/47.60  cut (((op (op (e2) (e3)) (e5)) = (op (op (e2) (e3)) (e5))) = ((op (e0) (e5)) = (op (op (e2) (e3)) (e5)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7d4.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7d5.
% 47.44/47.60  cut (((op (op (e2) (e3)) (e5)) = (op (op (e2) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7d6].
% 47.44/47.60  cut (((op (op (e2) (e3)) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7d7].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.60  cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H60 zenon_H59).
% 47.44/47.60  apply zenon_H25. apply refl_equal.
% 47.44/47.60  apply zenon_H7d6. apply refl_equal.
% 47.44/47.60  apply zenon_H7d6. apply refl_equal.
% 47.44/47.60  elim (classic ((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5))))); [ zenon_intro zenon_H7d8 | zenon_intro zenon_H7d9 ].
% 47.44/47.60  cut (((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5)))) = ((e5) = (op (e2) (op (e3) (e5))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7d3.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7d8.
% 47.44/47.60  cut (((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H7d9].
% 47.44/47.60  cut (((op (e2) (op (e3) (e5))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H7da].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e2) (e4)) = (e5)) = ((op (e2) (op (e3) (e5))) = (e5))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7da.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H61.
% 47.44/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.60  cut (((op (e2) (e4)) = (op (e2) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H7db].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5))))); [ zenon_intro zenon_H7d8 | zenon_intro zenon_H7d9 ].
% 47.44/47.60  cut (((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5)))) = ((op (e2) (e4)) = (op (e2) (op (e3) (e5))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7db.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7d8.
% 47.44/47.60  cut (((op (e2) (op (e3) (e5))) = (op (e2) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H7d9].
% 47.44/47.60  cut (((op (e2) (op (e3) (e5))) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7dc].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  congruence.
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  exact (zenon_Ha0 zenon_H99).
% 47.44/47.60  apply zenon_H7d9. apply refl_equal.
% 47.44/47.60  apply zenon_H7d9. apply refl_equal.
% 47.44/47.60  apply zenon_H25. apply refl_equal.
% 47.44/47.60  apply zenon_H7d9. apply refl_equal.
% 47.44/47.60  apply zenon_H7d9. apply refl_equal.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H7d1); [ zenon_intro zenon_H7de | zenon_intro zenon_H7dd ].
% 47.44/47.60  cut (((op (e5) (e0)) = (e5)) = ((op (op (e2) (e4)) (e0)) = (op (e2) (op (e4) (e0))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7de.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_Hd1.
% 47.44/47.60  cut (((e5) = (op (e2) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1d9].
% 47.44/47.60  cut (((op (e5) (e0)) = (op (op (e2) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7df].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e4)) (e0)) = (op (op (e2) (e4)) (e0)))); [ zenon_intro zenon_H7e0 | zenon_intro zenon_H7e1 ].
% 47.44/47.60  cut (((op (op (e2) (e4)) (e0)) = (op (op (e2) (e4)) (e0))) = ((op (e5) (e0)) = (op (op (e2) (e4)) (e0)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7df.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7e0.
% 47.44/47.60  cut (((op (op (e2) (e4)) (e0)) = (op (op (e2) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7e1].
% 47.44/47.60  cut (((op (op (e2) (e4)) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7e2].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.60  cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H68 zenon_H61).
% 47.44/47.60  apply zenon_H5. apply refl_equal.
% 47.44/47.60  apply zenon_H7e1. apply refl_equal.
% 47.44/47.60  apply zenon_H7e1. apply refl_equal.
% 47.44/47.60  apply (zenon_L73_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H7dd); [ zenon_intro zenon_H7e4 | zenon_intro zenon_H7e3 ].
% 47.44/47.60  cut (((op (e5) (e1)) = (e3)) = ((op (op (e2) (e4)) (e1)) = (op (e2) (op (e4) (e1))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7e4.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_Hd9.
% 47.44/47.60  cut (((e3) = (op (e2) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H1df].
% 47.44/47.60  cut (((op (e5) (e1)) = (op (op (e2) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7e5].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e4)) (e1)) = (op (op (e2) (e4)) (e1)))); [ zenon_intro zenon_H7e6 | zenon_intro zenon_H7e7 ].
% 47.44/47.60  cut (((op (op (e2) (e4)) (e1)) = (op (op (e2) (e4)) (e1))) = ((op (e5) (e1)) = (op (op (e2) (e4)) (e1)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7e5.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7e6.
% 47.44/47.60  cut (((op (op (e2) (e4)) (e1)) = (op (op (e2) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7e7].
% 47.44/47.60  cut (((op (op (e2) (e4)) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H7e8].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.60  cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H68 zenon_H61).
% 47.44/47.60  apply zenon_H6. apply refl_equal.
% 47.44/47.60  apply zenon_H7e7. apply refl_equal.
% 47.44/47.60  apply zenon_H7e7. apply refl_equal.
% 47.44/47.60  apply (zenon_L74_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H7e3); [ zenon_intro zenon_H7ea | zenon_intro zenon_H7e9 ].
% 47.44/47.60  cut (((op (e5) (e2)) = (e1)) = ((op (op (e2) (e4)) (e2)) = (op (e2) (op (e4) (e2))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7ea.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_He1.
% 47.44/47.60  cut (((e1) = (op (e2) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1e5].
% 47.44/47.60  cut (((op (e5) (e2)) = (op (op (e2) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7eb].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e4)) (e2)) = (op (op (e2) (e4)) (e2)))); [ zenon_intro zenon_H7ec | zenon_intro zenon_H7ed ].
% 47.44/47.60  cut (((op (op (e2) (e4)) (e2)) = (op (op (e2) (e4)) (e2))) = ((op (e5) (e2)) = (op (op (e2) (e4)) (e2)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7eb.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7ec.
% 47.44/47.60  cut (((op (op (e2) (e4)) (e2)) = (op (op (e2) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7ed].
% 47.44/47.60  cut (((op (op (e2) (e4)) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H7ee].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H68 zenon_H61).
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  apply zenon_H7ed. apply refl_equal.
% 47.44/47.60  apply zenon_H7ed. apply refl_equal.
% 47.44/47.60  apply (zenon_L75_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H7e9); [ zenon_intro zenon_H7f0 | zenon_intro zenon_H7ef ].
% 47.44/47.60  cut (((op (e5) (e3)) = (e4)) = ((op (op (e2) (e4)) (e3)) = (op (e2) (op (e4) (e3))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7f0.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_He9.
% 47.44/47.60  cut (((e4) = (op (e2) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H1eb].
% 47.44/47.60  cut (((op (e5) (e3)) = (op (op (e2) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7f1].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e4)) (e3)) = (op (op (e2) (e4)) (e3)))); [ zenon_intro zenon_H7f2 | zenon_intro zenon_H7f3 ].
% 47.44/47.60  cut (((op (op (e2) (e4)) (e3)) = (op (op (e2) (e4)) (e3))) = ((op (e5) (e3)) = (op (op (e2) (e4)) (e3)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7f1.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7f2.
% 47.44/47.60  cut (((op (op (e2) (e4)) (e3)) = (op (op (e2) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7f3].
% 47.44/47.60  cut (((op (op (e2) (e4)) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H7f4].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H68 zenon_H61).
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  apply zenon_H7f3. apply refl_equal.
% 47.44/47.60  apply zenon_H7f3. apply refl_equal.
% 47.44/47.60  apply (zenon_L76_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H7ef); [ zenon_intro zenon_H7f6 | zenon_intro zenon_H7f5 ].
% 47.44/47.60  cut (((op (e5) (e4)) = (e0)) = ((op (op (e2) (e4)) (e4)) = (op (e2) (op (e4) (e4))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7f6.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_Hf1.
% 47.44/47.60  cut (((e0) = (op (e2) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 47.44/47.60  cut (((op (e5) (e4)) = (op (op (e2) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7f7].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e4)) (e4)) = (op (op (e2) (e4)) (e4)))); [ zenon_intro zenon_H7f8 | zenon_intro zenon_H7f9 ].
% 47.44/47.60  cut (((op (op (e2) (e4)) (e4)) = (op (op (e2) (e4)) (e4))) = ((op (e5) (e4)) = (op (op (e2) (e4)) (e4)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7f7.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7f8.
% 47.44/47.60  cut (((op (op (e2) (e4)) (e4)) = (op (op (e2) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7f9].
% 47.44/47.60  cut (((op (op (e2) (e4)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7fa].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.60  cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H68 zenon_H61).
% 47.44/47.60  apply zenon_H1a. apply refl_equal.
% 47.44/47.60  apply zenon_H7f9. apply refl_equal.
% 47.44/47.60  apply zenon_H7f9. apply refl_equal.
% 47.44/47.60  apply (zenon_L77_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H7f5); [ zenon_intro zenon_H7fc | zenon_intro zenon_H7fb ].
% 47.44/47.60  cut (((op (e5) (e5)) = (e2)) = ((op (op (e2) (e4)) (e5)) = (op (e2) (op (e4) (e5))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7fc.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_Hf9.
% 47.44/47.60  cut (((e2) = (op (e2) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H1f7].
% 47.44/47.60  cut (((op (e5) (e5)) = (op (op (e2) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7fd].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e4)) (e5)) = (op (op (e2) (e4)) (e5)))); [ zenon_intro zenon_H7fe | zenon_intro zenon_H7ff ].
% 47.44/47.60  cut (((op (op (e2) (e4)) (e5)) = (op (op (e2) (e4)) (e5))) = ((op (e5) (e5)) = (op (op (e2) (e4)) (e5)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H7fd.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7fe.
% 47.44/47.60  cut (((op (op (e2) (e4)) (e5)) = (op (op (e2) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H7ff].
% 47.44/47.60  cut (((op (op (e2) (e4)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H800].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.60  cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H68 zenon_H61).
% 47.44/47.60  apply zenon_H25. apply refl_equal.
% 47.44/47.60  apply zenon_H7ff. apply refl_equal.
% 47.44/47.60  apply zenon_H7ff. apply refl_equal.
% 47.44/47.60  apply (zenon_L78_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H7fb); [ zenon_intro zenon_H802 | zenon_intro zenon_H801 ].
% 47.44/47.60  cut (((op (e1) (e0)) = (e1)) = ((op (op (e2) (e5)) (e0)) = (op (e2) (op (e5) (e0))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H802.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8.
% 47.44/47.60  cut (((e1) = (op (e2) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H1fd].
% 47.44/47.60  cut (((op (e1) (e0)) = (op (op (e2) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H803].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e5)) (e0)) = (op (op (e2) (e5)) (e0)))); [ zenon_intro zenon_H804 | zenon_intro zenon_H805 ].
% 47.44/47.60  cut (((op (op (e2) (e5)) (e0)) = (op (op (e2) (e5)) (e0))) = ((op (e1) (e0)) = (op (op (e2) (e5)) (e0)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H803.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H804.
% 47.44/47.60  cut (((op (op (e2) (e5)) (e0)) = (op (op (e2) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H805].
% 47.44/47.60  cut (((op (op (e2) (e5)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H806].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.60  cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H70 zenon_H69).
% 47.44/47.60  apply zenon_H5. apply refl_equal.
% 47.44/47.60  apply zenon_H805. apply refl_equal.
% 47.44/47.60  apply zenon_H805. apply refl_equal.
% 47.44/47.60  apply (zenon_L79_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H801); [ zenon_intro zenon_H808 | zenon_intro zenon_H807 ].
% 47.44/47.60  cut (((op (e1) (e1)) = (e0)) = ((op (op (e2) (e5)) (e1)) = (op (e2) (op (e5) (e1))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H808.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H11.
% 47.44/47.60  cut (((e0) = (op (e2) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H203].
% 47.44/47.60  cut (((op (e1) (e1)) = (op (op (e2) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H809].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e5)) (e1)) = (op (op (e2) (e5)) (e1)))); [ zenon_intro zenon_H80a | zenon_intro zenon_H80b ].
% 47.44/47.60  cut (((op (op (e2) (e5)) (e1)) = (op (op (e2) (e5)) (e1))) = ((op (e1) (e1)) = (op (op (e2) (e5)) (e1)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H809.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H80a.
% 47.44/47.60  cut (((op (op (e2) (e5)) (e1)) = (op (op (e2) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H80b].
% 47.44/47.60  cut (((op (op (e2) (e5)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H80c].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.60  cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H70 zenon_H69).
% 47.44/47.60  apply zenon_H6. apply refl_equal.
% 47.44/47.60  apply zenon_H80b. apply refl_equal.
% 47.44/47.60  apply zenon_H80b. apply refl_equal.
% 47.44/47.60  apply (zenon_L80_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H807); [ zenon_intro zenon_H80e | zenon_intro zenon_H80d ].
% 47.44/47.60  cut (((op (e1) (e2)) = (e4)) = ((op (op (e2) (e5)) (e2)) = (op (e2) (op (e5) (e2))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H80e.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H1c.
% 47.44/47.60  cut (((e4) = (op (e2) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H209].
% 47.44/47.60  cut (((op (e1) (e2)) = (op (op (e2) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H80f].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e5)) (e2)) = (op (op (e2) (e5)) (e2)))); [ zenon_intro zenon_H810 | zenon_intro zenon_H811 ].
% 47.44/47.60  cut (((op (op (e2) (e5)) (e2)) = (op (op (e2) (e5)) (e2))) = ((op (e1) (e2)) = (op (op (e2) (e5)) (e2)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H80f.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H810.
% 47.44/47.60  cut (((op (op (e2) (e5)) (e2)) = (op (op (e2) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H811].
% 47.44/47.60  cut (((op (op (e2) (e5)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H812].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H70 zenon_H69).
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  apply zenon_H811. apply refl_equal.
% 47.44/47.60  apply zenon_H811. apply refl_equal.
% 47.44/47.60  apply (zenon_L81_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H80d); [ zenon_intro zenon_H814 | zenon_intro zenon_H813 ].
% 47.44/47.60  cut (((op (e1) (e3)) = (e5)) = ((op (op (e2) (e5)) (e3)) = (op (e2) (op (e5) (e3))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H814.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H27.
% 47.44/47.60  cut (((e5) = (op (e2) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H20f].
% 47.44/47.60  cut (((op (e1) (e3)) = (op (op (e2) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H815].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e5)) (e3)) = (op (op (e2) (e5)) (e3)))); [ zenon_intro zenon_H816 | zenon_intro zenon_H817 ].
% 47.44/47.60  cut (((op (op (e2) (e5)) (e3)) = (op (op (e2) (e5)) (e3))) = ((op (e1) (e3)) = (op (op (e2) (e5)) (e3)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H815.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H816.
% 47.44/47.60  cut (((op (op (e2) (e5)) (e3)) = (op (op (e2) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H817].
% 47.44/47.60  cut (((op (op (e2) (e5)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H818].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H70 zenon_H69).
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  apply zenon_H817. apply refl_equal.
% 47.44/47.60  apply zenon_H817. apply refl_equal.
% 47.44/47.60  apply (zenon_L82_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H813); [ zenon_intro zenon_H81a | zenon_intro zenon_H819 ].
% 47.44/47.60  cut (((op (e1) (e4)) = (e2)) = ((op (op (e2) (e5)) (e4)) = (op (e2) (op (e5) (e4))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H81a.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H30.
% 47.44/47.60  cut (((e2) = (op (e2) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H215].
% 47.44/47.60  cut (((op (e1) (e4)) = (op (op (e2) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H81b].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e5)) (e4)) = (op (op (e2) (e5)) (e4)))); [ zenon_intro zenon_H81c | zenon_intro zenon_H81d ].
% 47.44/47.60  cut (((op (op (e2) (e5)) (e4)) = (op (op (e2) (e5)) (e4))) = ((op (e1) (e4)) = (op (op (e2) (e5)) (e4)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H81b.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H81c.
% 47.44/47.60  cut (((op (op (e2) (e5)) (e4)) = (op (op (e2) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H81d].
% 47.44/47.60  cut (((op (op (e2) (e5)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H81e].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.60  cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H70 zenon_H69).
% 47.44/47.60  apply zenon_H1a. apply refl_equal.
% 47.44/47.60  apply zenon_H81d. apply refl_equal.
% 47.44/47.60  apply zenon_H81d. apply refl_equal.
% 47.44/47.60  apply (zenon_L83_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H819); [ zenon_intro zenon_H820 | zenon_intro zenon_H81f ].
% 47.44/47.60  cut (((op (e1) (e5)) = (e3)) = ((op (op (e2) (e5)) (e5)) = (op (e2) (op (e5) (e5))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H820.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H39.
% 47.44/47.60  cut (((e3) = (op (e2) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H21b].
% 47.44/47.60  cut (((op (e1) (e5)) = (op (op (e2) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H821].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e2) (e5)) (e5)) = (op (op (e2) (e5)) (e5)))); [ zenon_intro zenon_H822 | zenon_intro zenon_H823 ].
% 47.44/47.60  cut (((op (op (e2) (e5)) (e5)) = (op (op (e2) (e5)) (e5))) = ((op (e1) (e5)) = (op (op (e2) (e5)) (e5)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H821.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H822.
% 47.44/47.60  cut (((op (op (e2) (e5)) (e5)) = (op (op (e2) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H823].
% 47.44/47.60  cut (((op (op (e2) (e5)) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H824].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.60  cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H70 zenon_H69).
% 47.44/47.60  apply zenon_H25. apply refl_equal.
% 47.44/47.60  apply zenon_H823. apply refl_equal.
% 47.44/47.60  apply zenon_H823. apply refl_equal.
% 47.44/47.60  apply (zenon_L84_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H81f); [ zenon_intro zenon_H826 | zenon_intro zenon_H825 ].
% 47.44/47.60  cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H59e].
% 47.44/47.60  cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H78 zenon_H71).
% 47.44/47.60  apply zenon_H59e. apply sym_equal. exact zenon_H10.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H825); [ zenon_intro zenon_H828 | zenon_intro zenon_H827 ].
% 47.44/47.60  cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H416].
% 47.44/47.60  cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H78 zenon_H71).
% 47.44/47.60  apply zenon_H416. apply sym_equal. exact zenon_H7.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H827); [ zenon_intro zenon_H82a | zenon_intro zenon_H829 ].
% 47.44/47.60  cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H42c].
% 47.44/47.60  cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H78 zenon_H71).
% 47.44/47.60  apply zenon_H42c. apply sym_equal. exact zenon_H2f.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H829); [ zenon_intro zenon_H82c | zenon_intro zenon_H82b ].
% 47.44/47.60  cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H442].
% 47.44/47.60  cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H78 zenon_H71).
% 47.44/47.60  apply zenon_H442. apply sym_equal. exact zenon_H38.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H82b); [ zenon_intro zenon_H82e | zenon_intro zenon_H82d ].
% 47.44/47.60  cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H458].
% 47.44/47.60  cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H78 zenon_H71).
% 47.44/47.60  apply zenon_H458. apply sym_equal. exact zenon_H1b.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H82d); [ zenon_intro zenon_H830 | zenon_intro zenon_H82f ].
% 47.44/47.60  cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46e].
% 47.44/47.60  cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H78 zenon_H71).
% 47.44/47.60  apply zenon_H46e. apply sym_equal. exact zenon_H26.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H82f); [ zenon_intro zenon_H832 | zenon_intro zenon_H831 ].
% 47.44/47.60  cut (((op (e5) (e0)) = (e5)) = ((op (op (e3) (e1)) (e0)) = (op (e3) (op (e1) (e0))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H832.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_Hd1.
% 47.44/47.60  cut (((e5) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H221].
% 47.44/47.60  cut (((op (e5) (e0)) = (op (op (e3) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H833].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e1)) (e0)) = (op (op (e3) (e1)) (e0)))); [ zenon_intro zenon_H834 | zenon_intro zenon_H835 ].
% 47.44/47.60  cut (((op (op (e3) (e1)) (e0)) = (op (op (e3) (e1)) (e0))) = ((op (e5) (e0)) = (op (op (e3) (e1)) (e0)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H833.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H834.
% 47.44/47.60  cut (((op (op (e3) (e1)) (e0)) = (op (op (e3) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H835].
% 47.44/47.60  cut (((op (op (e3) (e1)) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H836].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.60  cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H80 zenon_H79).
% 47.44/47.60  apply zenon_H5. apply refl_equal.
% 47.44/47.60  apply zenon_H835. apply refl_equal.
% 47.44/47.60  apply zenon_H835. apply refl_equal.
% 47.44/47.60  apply (zenon_L85_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H831); [ zenon_intro zenon_H838 | zenon_intro zenon_H837 ].
% 47.44/47.60  cut (((op (e5) (e1)) = (e3)) = ((op (op (e3) (e1)) (e1)) = (op (e3) (op (e1) (e1))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H838.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_Hd9.
% 47.44/47.60  cut (((e3) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H227].
% 47.44/47.60  cut (((op (e5) (e1)) = (op (op (e3) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H839].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e1)) (e1)) = (op (op (e3) (e1)) (e1)))); [ zenon_intro zenon_H83a | zenon_intro zenon_H83b ].
% 47.44/47.60  cut (((op (op (e3) (e1)) (e1)) = (op (op (e3) (e1)) (e1))) = ((op (e5) (e1)) = (op (op (e3) (e1)) (e1)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H839.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H83a.
% 47.44/47.60  cut (((op (op (e3) (e1)) (e1)) = (op (op (e3) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H83b].
% 47.44/47.60  cut (((op (op (e3) (e1)) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H83c].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.60  cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H80 zenon_H79).
% 47.44/47.60  apply zenon_H6. apply refl_equal.
% 47.44/47.60  apply zenon_H83b. apply refl_equal.
% 47.44/47.60  apply zenon_H83b. apply refl_equal.
% 47.44/47.60  apply (zenon_L86_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H837); [ zenon_intro zenon_H83e | zenon_intro zenon_H83d ].
% 47.44/47.60  cut (((op (e5) (e2)) = (e1)) = ((op (op (e3) (e1)) (e2)) = (op (e3) (op (e1) (e2))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H83e.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_He1.
% 47.44/47.60  cut (((e1) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H22d].
% 47.44/47.60  cut (((op (e5) (e2)) = (op (op (e3) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H83f].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e1)) (e2)) = (op (op (e3) (e1)) (e2)))); [ zenon_intro zenon_H840 | zenon_intro zenon_H841 ].
% 47.44/47.60  cut (((op (op (e3) (e1)) (e2)) = (op (op (e3) (e1)) (e2))) = ((op (e5) (e2)) = (op (op (e3) (e1)) (e2)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H83f.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H840.
% 47.44/47.60  cut (((op (op (e3) (e1)) (e2)) = (op (op (e3) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H841].
% 47.44/47.60  cut (((op (op (e3) (e1)) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H842].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H80 zenon_H79).
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  apply zenon_H841. apply refl_equal.
% 47.44/47.60  apply zenon_H841. apply refl_equal.
% 47.44/47.60  apply (zenon_L87_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H83d); [ zenon_intro zenon_H844 | zenon_intro zenon_H843 ].
% 47.44/47.60  cut (((op (e5) (e3)) = (e4)) = ((op (op (e3) (e1)) (e3)) = (op (e3) (op (e1) (e3))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H844.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_He9.
% 47.44/47.60  cut (((e4) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H233].
% 47.44/47.60  cut (((op (e5) (e3)) = (op (op (e3) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H845].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e1)) (e3)) = (op (op (e3) (e1)) (e3)))); [ zenon_intro zenon_H846 | zenon_intro zenon_H847 ].
% 47.44/47.60  cut (((op (op (e3) (e1)) (e3)) = (op (op (e3) (e1)) (e3))) = ((op (e5) (e3)) = (op (op (e3) (e1)) (e3)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H845.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H846.
% 47.44/47.60  cut (((op (op (e3) (e1)) (e3)) = (op (op (e3) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H847].
% 47.44/47.60  cut (((op (op (e3) (e1)) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H848].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H80 zenon_H79).
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  apply zenon_H847. apply refl_equal.
% 47.44/47.60  apply zenon_H847. apply refl_equal.
% 47.44/47.60  apply (zenon_L88_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H843); [ zenon_intro zenon_H84a | zenon_intro zenon_H849 ].
% 47.44/47.60  cut (((op (e5) (e4)) = (e0)) = ((op (op (e3) (e1)) (e4)) = (op (e3) (op (e1) (e4))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H84a.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_Hf1.
% 47.44/47.60  cut (((e0) = (op (e3) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H239].
% 47.44/47.60  cut (((op (e5) (e4)) = (op (op (e3) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H84b].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e1)) (e4)) = (op (op (e3) (e1)) (e4)))); [ zenon_intro zenon_H84c | zenon_intro zenon_H84d ].
% 47.44/47.60  cut (((op (op (e3) (e1)) (e4)) = (op (op (e3) (e1)) (e4))) = ((op (e5) (e4)) = (op (op (e3) (e1)) (e4)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H84b.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H84c.
% 47.44/47.60  cut (((op (op (e3) (e1)) (e4)) = (op (op (e3) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H84d].
% 47.44/47.60  cut (((op (op (e3) (e1)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H84e].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.60  cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H80 zenon_H79).
% 47.44/47.60  apply zenon_H1a. apply refl_equal.
% 47.44/47.60  apply zenon_H84d. apply refl_equal.
% 47.44/47.60  apply zenon_H84d. apply refl_equal.
% 47.44/47.60  apply (zenon_L89_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H849); [ zenon_intro zenon_H850 | zenon_intro zenon_H84f ].
% 47.44/47.60  cut (((op (e5) (e5)) = (e2)) = ((op (op (e3) (e1)) (e5)) = (op (e3) (op (e1) (e5))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H850.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_Hf9.
% 47.44/47.60  cut (((e2) = (op (e3) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H23f].
% 47.44/47.60  cut (((op (e5) (e5)) = (op (op (e3) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H851].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e1)) (e5)) = (op (op (e3) (e1)) (e5)))); [ zenon_intro zenon_H852 | zenon_intro zenon_H853 ].
% 47.44/47.60  cut (((op (op (e3) (e1)) (e5)) = (op (op (e3) (e1)) (e5))) = ((op (e5) (e5)) = (op (op (e3) (e1)) (e5)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H851.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H852.
% 47.44/47.60  cut (((op (op (e3) (e1)) (e5)) = (op (op (e3) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H853].
% 47.44/47.60  cut (((op (op (e3) (e1)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H854].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.60  cut (((op (e3) (e1)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H80 zenon_H79).
% 47.44/47.60  apply zenon_H25. apply refl_equal.
% 47.44/47.60  apply zenon_H853. apply refl_equal.
% 47.44/47.60  apply zenon_H853. apply refl_equal.
% 47.44/47.60  apply (zenon_L90_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H84f); [ zenon_intro zenon_H856 | zenon_intro zenon_H855 ].
% 47.44/47.60  cut (((op (e0) (e0)) = (e0)) = ((op (op (e3) (e2)) (e0)) = (op (e3) (op (e2) (e0))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H856.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H10.
% 47.44/47.60  cut (((e0) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H857].
% 47.44/47.60  cut (((op (e0) (e0)) = (op (op (e3) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H858].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e2)) (e0)) = (op (op (e3) (e2)) (e0)))); [ zenon_intro zenon_H859 | zenon_intro zenon_H85a ].
% 47.44/47.60  cut (((op (op (e3) (e2)) (e0)) = (op (op (e3) (e2)) (e0))) = ((op (e0) (e0)) = (op (op (e3) (e2)) (e0)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H858.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H859.
% 47.44/47.60  cut (((op (op (e3) (e2)) (e0)) = (op (op (e3) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H85a].
% 47.44/47.60  cut (((op (op (e3) (e2)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H85b].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.60  cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H88 zenon_H81).
% 47.44/47.60  apply zenon_H5. apply refl_equal.
% 47.44/47.60  apply zenon_H85a. apply refl_equal.
% 47.44/47.60  apply zenon_H85a. apply refl_equal.
% 47.44/47.60  elim (classic ((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [ zenon_intro zenon_H85c | zenon_intro zenon_H85d ].
% 47.44/47.60  cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0)))) = ((e0) = (op (e3) (op (e2) (e0))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H857.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H85c.
% 47.44/47.60  cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H85d].
% 47.44/47.60  cut (((op (e3) (op (e2) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H85e].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e3) (e2)) = (e0)) = ((op (e3) (op (e2) (e0))) = (e0))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H85e.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H81.
% 47.44/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.60  cut (((op (e3) (e2)) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H85f].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [ zenon_intro zenon_H85c | zenon_intro zenon_H85d ].
% 47.44/47.60  cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0)))) = ((op (e3) (e2)) = (op (e3) (op (e2) (e0))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H85f.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H85c.
% 47.44/47.60  cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H85d].
% 47.44/47.60  cut (((op (e3) (op (e2) (e0))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H860].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  congruence.
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  exact (zenon_H48 zenon_H41).
% 47.44/47.60  apply zenon_H85d. apply refl_equal.
% 47.44/47.60  apply zenon_H85d. apply refl_equal.
% 47.44/47.60  apply zenon_H5. apply refl_equal.
% 47.44/47.60  apply zenon_H85d. apply refl_equal.
% 47.44/47.60  apply zenon_H85d. apply refl_equal.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H855); [ zenon_intro zenon_H862 | zenon_intro zenon_H861 ].
% 47.44/47.60  cut (((op (e0) (e1)) = (e1)) = ((op (op (e3) (e2)) (e1)) = (op (e3) (op (e2) (e1))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H862.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H7.
% 47.44/47.60  cut (((e1) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H863].
% 47.44/47.60  cut (((op (e0) (e1)) = (op (op (e3) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H864].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e2)) (e1)) = (op (op (e3) (e2)) (e1)))); [ zenon_intro zenon_H865 | zenon_intro zenon_H866 ].
% 47.44/47.60  cut (((op (op (e3) (e2)) (e1)) = (op (op (e3) (e2)) (e1))) = ((op (e0) (e1)) = (op (op (e3) (e2)) (e1)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H864.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H865.
% 47.44/47.60  cut (((op (op (e3) (e2)) (e1)) = (op (op (e3) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H866].
% 47.44/47.60  cut (((op (op (e3) (e2)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H867].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.60  cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H88 zenon_H81).
% 47.44/47.60  apply zenon_H6. apply refl_equal.
% 47.44/47.60  apply zenon_H866. apply refl_equal.
% 47.44/47.60  apply zenon_H866. apply refl_equal.
% 47.44/47.60  elim (classic ((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [ zenon_intro zenon_H868 | zenon_intro zenon_H869 ].
% 47.44/47.60  cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1)))) = ((e1) = (op (e3) (op (e2) (e1))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H863.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H868.
% 47.44/47.60  cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H869].
% 47.44/47.60  cut (((op (e3) (op (e2) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H86a].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e3) (e4)) = (e1)) = ((op (e3) (op (e2) (e1))) = (e1))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H86a.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H91.
% 47.44/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.60  cut (((op (e3) (e4)) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H86b].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [ zenon_intro zenon_H868 | zenon_intro zenon_H869 ].
% 47.44/47.60  cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1)))) = ((op (e3) (e4)) = (op (e3) (op (e2) (e1))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H86b.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H868.
% 47.44/47.60  cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H869].
% 47.44/47.60  cut (((op (e3) (op (e2) (e1))) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H86c].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e2) (e1)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  congruence.
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  exact (zenon_H50 zenon_H49).
% 47.44/47.60  apply zenon_H869. apply refl_equal.
% 47.44/47.60  apply zenon_H869. apply refl_equal.
% 47.44/47.60  apply zenon_H6. apply refl_equal.
% 47.44/47.60  apply zenon_H869. apply refl_equal.
% 47.44/47.60  apply zenon_H869. apply refl_equal.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H861); [ zenon_intro zenon_H86e | zenon_intro zenon_H86d ].
% 47.44/47.60  cut (((op (e0) (e2)) = (e2)) = ((op (op (e3) (e2)) (e2)) = (op (e3) (op (e2) (e2))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H86e.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H2f.
% 47.44/47.60  cut (((e2) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H86f].
% 47.44/47.60  cut (((op (e0) (e2)) = (op (op (e3) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H870].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e2)) (e2)) = (op (op (e3) (e2)) (e2)))); [ zenon_intro zenon_H871 | zenon_intro zenon_H872 ].
% 47.44/47.60  cut (((op (op (e3) (e2)) (e2)) = (op (op (e3) (e2)) (e2))) = ((op (e0) (e2)) = (op (op (e3) (e2)) (e2)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H870.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H871.
% 47.44/47.60  cut (((op (op (e3) (e2)) (e2)) = (op (op (e3) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H872].
% 47.44/47.60  cut (((op (op (e3) (e2)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H873].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H88 zenon_H81).
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  apply zenon_H872. apply refl_equal.
% 47.44/47.60  apply zenon_H872. apply refl_equal.
% 47.44/47.60  elim (classic ((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [ zenon_intro zenon_H874 | zenon_intro zenon_H875 ].
% 47.44/47.60  cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2)))) = ((e2) = (op (e3) (op (e2) (e2))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H86f.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H874.
% 47.44/47.60  cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H875].
% 47.44/47.60  cut (((op (e3) (op (e2) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H876].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e3) (e3)) = (e2)) = ((op (e3) (op (e2) (e2))) = (e2))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H876.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H89.
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  cut (((op (e3) (e3)) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H877].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [ zenon_intro zenon_H874 | zenon_intro zenon_H875 ].
% 47.44/47.60  cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2)))) = ((op (e3) (e3)) = (op (e3) (op (e2) (e2))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H877.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H874.
% 47.44/47.60  cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H875].
% 47.44/47.60  cut (((op (e3) (op (e2) (e2))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H878].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H58].
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  congruence.
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  exact (zenon_H58 zenon_H51).
% 47.44/47.60  apply zenon_H875. apply refl_equal.
% 47.44/47.60  apply zenon_H875. apply refl_equal.
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  apply zenon_H875. apply refl_equal.
% 47.44/47.60  apply zenon_H875. apply refl_equal.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H86d); [ zenon_intro zenon_H87a | zenon_intro zenon_H879 ].
% 47.44/47.60  cut (((op (e0) (e3)) = (e3)) = ((op (op (e3) (e2)) (e3)) = (op (e3) (op (e2) (e3))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H87a.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H38.
% 47.44/47.60  cut (((e3) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H87b].
% 47.44/47.60  cut (((op (e0) (e3)) = (op (op (e3) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H87c].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e2)) (e3)) = (op (op (e3) (e2)) (e3)))); [ zenon_intro zenon_H87d | zenon_intro zenon_H87e ].
% 47.44/47.60  cut (((op (op (e3) (e2)) (e3)) = (op (op (e3) (e2)) (e3))) = ((op (e0) (e3)) = (op (op (e3) (e2)) (e3)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H87c.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H87d.
% 47.44/47.60  cut (((op (op (e3) (e2)) (e3)) = (op (op (e3) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H87e].
% 47.44/47.60  cut (((op (op (e3) (e2)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H87f].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H88 zenon_H81).
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  apply zenon_H87e. apply refl_equal.
% 47.44/47.60  apply zenon_H87e. apply refl_equal.
% 47.44/47.60  elim (classic ((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [ zenon_intro zenon_H880 | zenon_intro zenon_H881 ].
% 47.44/47.60  cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3)))) = ((e3) = (op (e3) (op (e2) (e3))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H87b.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H880.
% 47.44/47.60  cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H881].
% 47.44/47.60  cut (((op (e3) (op (e2) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H882].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e2) (e3))) = (e3))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H882.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H71.
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  cut (((op (e3) (e0)) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H883].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [ zenon_intro zenon_H880 | zenon_intro zenon_H881 ].
% 47.44/47.60  cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3)))) = ((op (e3) (e0)) = (op (e3) (op (e2) (e3))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H883.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H880.
% 47.44/47.60  cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H881].
% 47.44/47.60  cut (((op (e3) (op (e2) (e3))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H884].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e2) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  congruence.
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  exact (zenon_H60 zenon_H59).
% 47.44/47.60  apply zenon_H881. apply refl_equal.
% 47.44/47.60  apply zenon_H881. apply refl_equal.
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  apply zenon_H881. apply refl_equal.
% 47.44/47.60  apply zenon_H881. apply refl_equal.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H879); [ zenon_intro zenon_H886 | zenon_intro zenon_H885 ].
% 47.44/47.60  cut (((op (e0) (e4)) = (e4)) = ((op (op (e3) (e2)) (e4)) = (op (e3) (op (e2) (e4))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H886.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H1b.
% 47.44/47.60  cut (((e4) = (op (e3) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H887].
% 47.44/47.60  cut (((op (e0) (e4)) = (op (op (e3) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H888].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e2)) (e4)) = (op (op (e3) (e2)) (e4)))); [ zenon_intro zenon_H889 | zenon_intro zenon_H88a ].
% 47.44/47.60  cut (((op (op (e3) (e2)) (e4)) = (op (op (e3) (e2)) (e4))) = ((op (e0) (e4)) = (op (op (e3) (e2)) (e4)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H888.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H889.
% 47.44/47.60  cut (((op (op (e3) (e2)) (e4)) = (op (op (e3) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H88a].
% 47.44/47.60  cut (((op (op (e3) (e2)) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H88b].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.60  cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H88 zenon_H81).
% 47.44/47.60  apply zenon_H1a. apply refl_equal.
% 47.44/47.60  apply zenon_H88a. apply refl_equal.
% 47.44/47.60  apply zenon_H88a. apply refl_equal.
% 47.44/47.60  elim (classic ((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4))))); [ zenon_intro zenon_H88c | zenon_intro zenon_H88d ].
% 47.44/47.60  cut (((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4)))) = ((e4) = (op (e3) (op (e2) (e4))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H887.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H88c.
% 47.44/47.60  cut (((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H88d].
% 47.44/47.60  cut (((op (e3) (op (e2) (e4))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H88e].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e3) (e5)) = (e4)) = ((op (e3) (op (e2) (e4))) = (e4))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H88e.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H99.
% 47.44/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.60  cut (((op (e3) (e5)) = (op (e3) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H88f].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4))))); [ zenon_intro zenon_H88c | zenon_intro zenon_H88d ].
% 47.44/47.60  cut (((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4)))) = ((op (e3) (e5)) = (op (e3) (op (e2) (e4))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H88f.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H88c.
% 47.44/47.60  cut (((op (e3) (op (e2) (e4))) = (op (e3) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H88d].
% 47.44/47.60  cut (((op (e3) (op (e2) (e4))) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H890].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e2) (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  congruence.
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  exact (zenon_H68 zenon_H61).
% 47.44/47.60  apply zenon_H88d. apply refl_equal.
% 47.44/47.60  apply zenon_H88d. apply refl_equal.
% 47.44/47.60  apply zenon_H1a. apply refl_equal.
% 47.44/47.60  apply zenon_H88d. apply refl_equal.
% 47.44/47.60  apply zenon_H88d. apply refl_equal.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H885); [ zenon_intro zenon_H892 | zenon_intro zenon_H891 ].
% 47.44/47.60  cut (((op (e0) (e5)) = (e5)) = ((op (op (e3) (e2)) (e5)) = (op (e3) (op (e2) (e5))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H892.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H26.
% 47.44/47.60  cut (((e5) = (op (e3) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H893].
% 47.44/47.60  cut (((op (e0) (e5)) = (op (op (e3) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H894].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e2)) (e5)) = (op (op (e3) (e2)) (e5)))); [ zenon_intro zenon_H895 | zenon_intro zenon_H896 ].
% 47.44/47.60  cut (((op (op (e3) (e2)) (e5)) = (op (op (e3) (e2)) (e5))) = ((op (e0) (e5)) = (op (op (e3) (e2)) (e5)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H894.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H895.
% 47.44/47.60  cut (((op (op (e3) (e2)) (e5)) = (op (op (e3) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H896].
% 47.44/47.60  cut (((op (op (e3) (e2)) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H897].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.60  cut (((op (e3) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H88 zenon_H81).
% 47.44/47.60  apply zenon_H25. apply refl_equal.
% 47.44/47.60  apply zenon_H896. apply refl_equal.
% 47.44/47.60  apply zenon_H896. apply refl_equal.
% 47.44/47.60  elim (classic ((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5))))); [ zenon_intro zenon_H898 | zenon_intro zenon_H899 ].
% 47.44/47.60  cut (((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5)))) = ((e5) = (op (e3) (op (e2) (e5))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H893.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H898.
% 47.44/47.60  cut (((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H899].
% 47.44/47.60  cut (((op (e3) (op (e2) (e5))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H89a].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e3) (e1)) = (e5)) = ((op (e3) (op (e2) (e5))) = (e5))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H89a.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H79.
% 47.44/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.60  cut (((op (e3) (e1)) = (op (e3) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H89b].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5))))); [ zenon_intro zenon_H898 | zenon_intro zenon_H899 ].
% 47.44/47.60  cut (((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5)))) = ((op (e3) (e1)) = (op (e3) (op (e2) (e5))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H89b.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H898.
% 47.44/47.60  cut (((op (e3) (op (e2) (e5))) = (op (e3) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H899].
% 47.44/47.60  cut (((op (e3) (op (e2) (e5))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H89c].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((op (e2) (e5)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  congruence.
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  exact (zenon_H70 zenon_H69).
% 47.44/47.60  apply zenon_H899. apply refl_equal.
% 47.44/47.60  apply zenon_H899. apply refl_equal.
% 47.44/47.60  apply zenon_H25. apply refl_equal.
% 47.44/47.60  apply zenon_H899. apply refl_equal.
% 47.44/47.60  apply zenon_H899. apply refl_equal.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H891); [ zenon_intro zenon_H89e | zenon_intro zenon_H89d ].
% 47.44/47.60  cut (((op (e2) (e0)) = (e2)) = ((op (op (e3) (e3)) (e0)) = (op (e3) (op (e3) (e0))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H89e.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H41.
% 47.44/47.60  cut (((e2) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H245].
% 47.44/47.60  cut (((op (e2) (e0)) = (op (op (e3) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H89f].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e3)) (e0)) = (op (op (e3) (e3)) (e0)))); [ zenon_intro zenon_H8a0 | zenon_intro zenon_H8a1 ].
% 47.44/47.60  cut (((op (op (e3) (e3)) (e0)) = (op (op (e3) (e3)) (e0))) = ((op (e2) (e0)) = (op (op (e3) (e3)) (e0)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H89f.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8a0.
% 47.44/47.60  cut (((op (op (e3) (e3)) (e0)) = (op (op (e3) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8a1].
% 47.44/47.60  cut (((op (op (e3) (e3)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8a2].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.60  cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H90 zenon_H89).
% 47.44/47.60  apply zenon_H5. apply refl_equal.
% 47.44/47.60  apply zenon_H8a1. apply refl_equal.
% 47.44/47.60  apply zenon_H8a1. apply refl_equal.
% 47.44/47.60  apply (zenon_L91_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H89d); [ zenon_intro zenon_H8a4 | zenon_intro zenon_H8a3 ].
% 47.44/47.60  cut (((op (e2) (e1)) = (e4)) = ((op (op (e3) (e3)) (e1)) = (op (e3) (op (e3) (e1))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8a4.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H49.
% 47.44/47.60  cut (((e4) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H24b].
% 47.44/47.60  cut (((op (e2) (e1)) = (op (op (e3) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8a5].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e3)) (e1)) = (op (op (e3) (e3)) (e1)))); [ zenon_intro zenon_H8a6 | zenon_intro zenon_H8a7 ].
% 47.44/47.60  cut (((op (op (e3) (e3)) (e1)) = (op (op (e3) (e3)) (e1))) = ((op (e2) (e1)) = (op (op (e3) (e3)) (e1)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8a5.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8a6.
% 47.44/47.60  cut (((op (op (e3) (e3)) (e1)) = (op (op (e3) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8a7].
% 47.44/47.60  cut (((op (op (e3) (e3)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8a8].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.60  cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H90 zenon_H89).
% 47.44/47.60  apply zenon_H6. apply refl_equal.
% 47.44/47.60  apply zenon_H8a7. apply refl_equal.
% 47.44/47.60  apply zenon_H8a7. apply refl_equal.
% 47.44/47.60  apply (zenon_L92_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8a3); [ zenon_intro zenon_H8aa | zenon_intro zenon_H8a9 ].
% 47.44/47.60  cut (((op (e2) (e2)) = (e3)) = ((op (op (e3) (e3)) (e2)) = (op (e3) (op (e3) (e2))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8aa.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H51.
% 47.44/47.60  cut (((e3) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H251].
% 47.44/47.60  cut (((op (e2) (e2)) = (op (op (e3) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8ab].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e3)) (e2)) = (op (op (e3) (e3)) (e2)))); [ zenon_intro zenon_H8ac | zenon_intro zenon_H8ad ].
% 47.44/47.60  cut (((op (op (e3) (e3)) (e2)) = (op (op (e3) (e3)) (e2))) = ((op (e2) (e2)) = (op (op (e3) (e3)) (e2)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8ab.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8ac.
% 47.44/47.60  cut (((op (op (e3) (e3)) (e2)) = (op (op (e3) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8ad].
% 47.44/47.60  cut (((op (op (e3) (e3)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8ae].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H90 zenon_H89).
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  apply zenon_H8ad. apply refl_equal.
% 47.44/47.60  apply zenon_H8ad. apply refl_equal.
% 47.44/47.60  apply (zenon_L93_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8a9); [ zenon_intro zenon_H8b0 | zenon_intro zenon_H8af ].
% 47.44/47.60  cut (((op (e2) (e3)) = (e0)) = ((op (op (e3) (e3)) (e3)) = (op (e3) (op (e3) (e3))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8b0.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H59.
% 47.44/47.60  cut (((e0) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H257].
% 47.44/47.60  cut (((op (e2) (e3)) = (op (op (e3) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8b1].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e3)) (e3)) = (op (op (e3) (e3)) (e3)))); [ zenon_intro zenon_H8b2 | zenon_intro zenon_H8b3 ].
% 47.44/47.60  cut (((op (op (e3) (e3)) (e3)) = (op (op (e3) (e3)) (e3))) = ((op (e2) (e3)) = (op (op (e3) (e3)) (e3)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8b1.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8b2.
% 47.44/47.60  cut (((op (op (e3) (e3)) (e3)) = (op (op (e3) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8b3].
% 47.44/47.60  cut (((op (op (e3) (e3)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8b4].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H90 zenon_H89).
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  apply zenon_H8b3. apply refl_equal.
% 47.44/47.60  apply zenon_H8b3. apply refl_equal.
% 47.44/47.60  apply (zenon_L94_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8af); [ zenon_intro zenon_H8b6 | zenon_intro zenon_H8b5 ].
% 47.44/47.60  cut (((op (e2) (e4)) = (e5)) = ((op (op (e3) (e3)) (e4)) = (op (e3) (op (e3) (e4))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8b6.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H61.
% 47.44/47.60  cut (((e5) = (op (e3) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H25d].
% 47.44/47.60  cut (((op (e2) (e4)) = (op (op (e3) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8b7].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e3)) (e4)) = (op (op (e3) (e3)) (e4)))); [ zenon_intro zenon_H8b8 | zenon_intro zenon_H8b9 ].
% 47.44/47.60  cut (((op (op (e3) (e3)) (e4)) = (op (op (e3) (e3)) (e4))) = ((op (e2) (e4)) = (op (op (e3) (e3)) (e4)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8b7.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8b8.
% 47.44/47.60  cut (((op (op (e3) (e3)) (e4)) = (op (op (e3) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8b9].
% 47.44/47.60  cut (((op (op (e3) (e3)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8ba].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.60  cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H90 zenon_H89).
% 47.44/47.60  apply zenon_H1a. apply refl_equal.
% 47.44/47.60  apply zenon_H8b9. apply refl_equal.
% 47.44/47.60  apply zenon_H8b9. apply refl_equal.
% 47.44/47.60  apply (zenon_L95_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8b5); [ zenon_intro zenon_H8bc | zenon_intro zenon_H8bb ].
% 47.44/47.60  cut (((op (e2) (e5)) = (e1)) = ((op (op (e3) (e3)) (e5)) = (op (e3) (op (e3) (e5))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8bc.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H69.
% 47.44/47.60  cut (((e1) = (op (e3) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H263].
% 47.44/47.60  cut (((op (e2) (e5)) = (op (op (e3) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8bd].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e3)) (e5)) = (op (op (e3) (e3)) (e5)))); [ zenon_intro zenon_H8be | zenon_intro zenon_H8bf ].
% 47.44/47.60  cut (((op (op (e3) (e3)) (e5)) = (op (op (e3) (e3)) (e5))) = ((op (e2) (e5)) = (op (op (e3) (e3)) (e5)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8bd.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8be.
% 47.44/47.60  cut (((op (op (e3) (e3)) (e5)) = (op (op (e3) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8bf].
% 47.44/47.60  cut (((op (op (e3) (e3)) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8c0].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.60  cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H90 zenon_H89).
% 47.44/47.60  apply zenon_H25. apply refl_equal.
% 47.44/47.60  apply zenon_H8bf. apply refl_equal.
% 47.44/47.60  apply zenon_H8bf. apply refl_equal.
% 47.44/47.60  apply (zenon_L96_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8bb); [ zenon_intro zenon_H8c2 | zenon_intro zenon_H8c1 ].
% 47.44/47.60  cut (((op (e1) (e0)) = (e1)) = ((op (op (e3) (e4)) (e0)) = (op (e3) (op (e4) (e0))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8c2.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8.
% 47.44/47.60  cut (((e1) = (op (e3) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H269].
% 47.44/47.60  cut (((op (e1) (e0)) = (op (op (e3) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8c3].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e4)) (e0)) = (op (op (e3) (e4)) (e0)))); [ zenon_intro zenon_H8c4 | zenon_intro zenon_H8c5 ].
% 47.44/47.60  cut (((op (op (e3) (e4)) (e0)) = (op (op (e3) (e4)) (e0))) = ((op (e1) (e0)) = (op (op (e3) (e4)) (e0)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8c3.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8c4.
% 47.44/47.60  cut (((op (op (e3) (e4)) (e0)) = (op (op (e3) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8c5].
% 47.44/47.60  cut (((op (op (e3) (e4)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8c6].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.60  cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H98 zenon_H91).
% 47.44/47.60  apply zenon_H5. apply refl_equal.
% 47.44/47.60  apply zenon_H8c5. apply refl_equal.
% 47.44/47.60  apply zenon_H8c5. apply refl_equal.
% 47.44/47.60  apply (zenon_L97_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8c1); [ zenon_intro zenon_H8c8 | zenon_intro zenon_H8c7 ].
% 47.44/47.60  cut (((op (e1) (e1)) = (e0)) = ((op (op (e3) (e4)) (e1)) = (op (e3) (op (e4) (e1))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8c8.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H11.
% 47.44/47.60  cut (((e0) = (op (e3) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H26f].
% 47.44/47.60  cut (((op (e1) (e1)) = (op (op (e3) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8c9].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e4)) (e1)) = (op (op (e3) (e4)) (e1)))); [ zenon_intro zenon_H8ca | zenon_intro zenon_H8cb ].
% 47.44/47.60  cut (((op (op (e3) (e4)) (e1)) = (op (op (e3) (e4)) (e1))) = ((op (e1) (e1)) = (op (op (e3) (e4)) (e1)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8c9.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8ca.
% 47.44/47.60  cut (((op (op (e3) (e4)) (e1)) = (op (op (e3) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8cb].
% 47.44/47.60  cut (((op (op (e3) (e4)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8cc].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.60  cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H98 zenon_H91).
% 47.44/47.60  apply zenon_H6. apply refl_equal.
% 47.44/47.60  apply zenon_H8cb. apply refl_equal.
% 47.44/47.60  apply zenon_H8cb. apply refl_equal.
% 47.44/47.60  apply (zenon_L98_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8c7); [ zenon_intro zenon_H8ce | zenon_intro zenon_H8cd ].
% 47.44/47.60  cut (((op (e1) (e2)) = (e4)) = ((op (op (e3) (e4)) (e2)) = (op (e3) (op (e4) (e2))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8ce.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H1c.
% 47.44/47.60  cut (((e4) = (op (e3) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H275].
% 47.44/47.60  cut (((op (e1) (e2)) = (op (op (e3) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8cf].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e4)) (e2)) = (op (op (e3) (e4)) (e2)))); [ zenon_intro zenon_H8d0 | zenon_intro zenon_H8d1 ].
% 47.44/47.60  cut (((op (op (e3) (e4)) (e2)) = (op (op (e3) (e4)) (e2))) = ((op (e1) (e2)) = (op (op (e3) (e4)) (e2)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8cf.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8d0.
% 47.44/47.60  cut (((op (op (e3) (e4)) (e2)) = (op (op (e3) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8d1].
% 47.44/47.60  cut (((op (op (e3) (e4)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8d2].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H98 zenon_H91).
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  apply zenon_H8d1. apply refl_equal.
% 47.44/47.60  apply zenon_H8d1. apply refl_equal.
% 47.44/47.60  apply (zenon_L99_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8cd); [ zenon_intro zenon_H8d4 | zenon_intro zenon_H8d3 ].
% 47.44/47.60  cut (((op (e1) (e3)) = (e5)) = ((op (op (e3) (e4)) (e3)) = (op (e3) (op (e4) (e3))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8d4.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H27.
% 47.44/47.60  cut (((e5) = (op (e3) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H27b].
% 47.44/47.60  cut (((op (e1) (e3)) = (op (op (e3) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8d5].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e4)) (e3)) = (op (op (e3) (e4)) (e3)))); [ zenon_intro zenon_H8d6 | zenon_intro zenon_H8d7 ].
% 47.44/47.60  cut (((op (op (e3) (e4)) (e3)) = (op (op (e3) (e4)) (e3))) = ((op (e1) (e3)) = (op (op (e3) (e4)) (e3)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8d5.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8d6.
% 47.44/47.60  cut (((op (op (e3) (e4)) (e3)) = (op (op (e3) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8d7].
% 47.44/47.60  cut (((op (op (e3) (e4)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8d8].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H98 zenon_H91).
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  apply zenon_H8d7. apply refl_equal.
% 47.44/47.60  apply zenon_H8d7. apply refl_equal.
% 47.44/47.60  apply (zenon_L100_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8d3); [ zenon_intro zenon_H8da | zenon_intro zenon_H8d9 ].
% 47.44/47.60  cut (((op (e1) (e4)) = (e2)) = ((op (op (e3) (e4)) (e4)) = (op (e3) (op (e4) (e4))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8da.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H30.
% 47.44/47.60  cut (((e2) = (op (e3) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H281].
% 47.44/47.60  cut (((op (e1) (e4)) = (op (op (e3) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8db].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e4)) (e4)) = (op (op (e3) (e4)) (e4)))); [ zenon_intro zenon_H8dc | zenon_intro zenon_H8dd ].
% 47.44/47.60  cut (((op (op (e3) (e4)) (e4)) = (op (op (e3) (e4)) (e4))) = ((op (e1) (e4)) = (op (op (e3) (e4)) (e4)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8db.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8dc.
% 47.44/47.60  cut (((op (op (e3) (e4)) (e4)) = (op (op (e3) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8dd].
% 47.44/47.60  cut (((op (op (e3) (e4)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8de].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.60  cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H98 zenon_H91).
% 47.44/47.60  apply zenon_H1a. apply refl_equal.
% 47.44/47.60  apply zenon_H8dd. apply refl_equal.
% 47.44/47.60  apply zenon_H8dd. apply refl_equal.
% 47.44/47.60  apply (zenon_L101_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8d9); [ zenon_intro zenon_H8e0 | zenon_intro zenon_H8df ].
% 47.44/47.60  cut (((op (e1) (e5)) = (e3)) = ((op (op (e3) (e4)) (e5)) = (op (e3) (op (e4) (e5))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8e0.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H39.
% 47.44/47.60  cut (((e3) = (op (e3) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H287].
% 47.44/47.60  cut (((op (e1) (e5)) = (op (op (e3) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8e1].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e4)) (e5)) = (op (op (e3) (e4)) (e5)))); [ zenon_intro zenon_H8e2 | zenon_intro zenon_H8e3 ].
% 47.44/47.60  cut (((op (op (e3) (e4)) (e5)) = (op (op (e3) (e4)) (e5))) = ((op (e1) (e5)) = (op (op (e3) (e4)) (e5)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8e1.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8e2.
% 47.44/47.60  cut (((op (op (e3) (e4)) (e5)) = (op (op (e3) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8e3].
% 47.44/47.60  cut (((op (op (e3) (e4)) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H8e4].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.60  cut (((op (e3) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_H98 zenon_H91).
% 47.44/47.60  apply zenon_H25. apply refl_equal.
% 47.44/47.60  apply zenon_H8e3. apply refl_equal.
% 47.44/47.60  apply zenon_H8e3. apply refl_equal.
% 47.44/47.60  apply (zenon_L102_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8df); [ zenon_intro zenon_H8e6 | zenon_intro zenon_H8e5 ].
% 47.44/47.60  cut (((op (e4) (e0)) = (e4)) = ((op (op (e3) (e5)) (e0)) = (op (e3) (op (e5) (e0))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8e6.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_Ha1.
% 47.44/47.60  cut (((e4) = (op (e3) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H28d].
% 47.44/47.60  cut (((op (e4) (e0)) = (op (op (e3) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8e7].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e5)) (e0)) = (op (op (e3) (e5)) (e0)))); [ zenon_intro zenon_H8e8 | zenon_intro zenon_H8e9 ].
% 47.44/47.60  cut (((op (op (e3) (e5)) (e0)) = (op (op (e3) (e5)) (e0))) = ((op (e4) (e0)) = (op (op (e3) (e5)) (e0)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8e7.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8e8.
% 47.44/47.60  cut (((op (op (e3) (e5)) (e0)) = (op (op (e3) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8e9].
% 47.44/47.60  cut (((op (op (e3) (e5)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8ea].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.60  cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_Ha0 zenon_H99).
% 47.44/47.60  apply zenon_H5. apply refl_equal.
% 47.44/47.60  apply zenon_H8e9. apply refl_equal.
% 47.44/47.60  apply zenon_H8e9. apply refl_equal.
% 47.44/47.60  apply (zenon_L103_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8e5); [ zenon_intro zenon_H8ec | zenon_intro zenon_H8eb ].
% 47.44/47.60  cut (((op (e4) (e1)) = (e2)) = ((op (op (e3) (e5)) (e1)) = (op (e3) (op (e5) (e1))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8ec.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_Ha9.
% 47.44/47.60  cut (((e2) = (op (e3) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H293].
% 47.44/47.60  cut (((op (e4) (e1)) = (op (op (e3) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8ed].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e5)) (e1)) = (op (op (e3) (e5)) (e1)))); [ zenon_intro zenon_H8ee | zenon_intro zenon_H8ef ].
% 47.44/47.60  cut (((op (op (e3) (e5)) (e1)) = (op (op (e3) (e5)) (e1))) = ((op (e4) (e1)) = (op (op (e3) (e5)) (e1)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8ed.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8ee.
% 47.44/47.60  cut (((op (op (e3) (e5)) (e1)) = (op (op (e3) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8ef].
% 47.44/47.60  cut (((op (op (e3) (e5)) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H8f0].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.60  cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_Ha0 zenon_H99).
% 47.44/47.60  apply zenon_H6. apply refl_equal.
% 47.44/47.60  apply zenon_H8ef. apply refl_equal.
% 47.44/47.60  apply zenon_H8ef. apply refl_equal.
% 47.44/47.60  apply (zenon_L104_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8eb); [ zenon_intro zenon_H8f2 | zenon_intro zenon_H8f1 ].
% 47.44/47.60  cut (((op (e4) (e2)) = (e5)) = ((op (op (e3) (e5)) (e2)) = (op (e3) (op (e5) (e2))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8f2.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_Hb1.
% 47.44/47.60  cut (((e5) = (op (e3) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H299].
% 47.44/47.60  cut (((op (e4) (e2)) = (op (op (e3) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8f3].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e5)) (e2)) = (op (op (e3) (e5)) (e2)))); [ zenon_intro zenon_H8f4 | zenon_intro zenon_H8f5 ].
% 47.44/47.60  cut (((op (op (e3) (e5)) (e2)) = (op (op (e3) (e5)) (e2))) = ((op (e4) (e2)) = (op (op (e3) (e5)) (e2)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8f3.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8f4.
% 47.44/47.60  cut (((op (op (e3) (e5)) (e2)) = (op (op (e3) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8f5].
% 47.44/47.60  cut (((op (op (e3) (e5)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8f6].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.60  cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_Ha0 zenon_H99).
% 47.44/47.60  apply zenon_H19. apply refl_equal.
% 47.44/47.60  apply zenon_H8f5. apply refl_equal.
% 47.44/47.60  apply zenon_H8f5. apply refl_equal.
% 47.44/47.60  apply (zenon_L105_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8f1); [ zenon_intro zenon_H8f8 | zenon_intro zenon_H8f7 ].
% 47.44/47.60  cut (((op (e4) (e3)) = (e1)) = ((op (op (e3) (e5)) (e3)) = (op (e3) (op (e5) (e3))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8f8.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_Hb9.
% 47.44/47.60  cut (((e1) = (op (e3) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H29f].
% 47.44/47.60  cut (((op (e4) (e3)) = (op (op (e3) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8f9].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e5)) (e3)) = (op (op (e3) (e5)) (e3)))); [ zenon_intro zenon_H8fa | zenon_intro zenon_H8fb ].
% 47.44/47.60  cut (((op (op (e3) (e5)) (e3)) = (op (op (e3) (e5)) (e3))) = ((op (e4) (e3)) = (op (op (e3) (e5)) (e3)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8f9.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H8fa.
% 47.44/47.60  cut (((op (op (e3) (e5)) (e3)) = (op (op (e3) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8fb].
% 47.44/47.60  cut (((op (op (e3) (e5)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8fc].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.60  cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_Ha0 zenon_H99).
% 47.44/47.60  apply zenon_H24. apply refl_equal.
% 47.44/47.60  apply zenon_H8fb. apply refl_equal.
% 47.44/47.60  apply zenon_H8fb. apply refl_equal.
% 47.44/47.60  apply (zenon_L106_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8f7); [ zenon_intro zenon_H8fe | zenon_intro zenon_H8fd ].
% 47.44/47.60  cut (((op (e4) (e4)) = (e3)) = ((op (op (e3) (e5)) (e4)) = (op (e3) (op (e5) (e4))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8fe.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_Hc1.
% 47.44/47.60  cut (((e3) = (op (e3) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2a5].
% 47.44/47.60  cut (((op (e4) (e4)) = (op (op (e3) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H8ff].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e5)) (e4)) = (op (op (e3) (e5)) (e4)))); [ zenon_intro zenon_H900 | zenon_intro zenon_H901 ].
% 47.44/47.60  cut (((op (op (e3) (e5)) (e4)) = (op (op (e3) (e5)) (e4))) = ((op (e4) (e4)) = (op (op (e3) (e5)) (e4)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H8ff.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H900.
% 47.44/47.60  cut (((op (op (e3) (e5)) (e4)) = (op (op (e3) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H901].
% 47.44/47.60  cut (((op (op (e3) (e5)) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H902].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.60  cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_Ha0 zenon_H99).
% 47.44/47.60  apply zenon_H1a. apply refl_equal.
% 47.44/47.60  apply zenon_H901. apply refl_equal.
% 47.44/47.60  apply zenon_H901. apply refl_equal.
% 47.44/47.60  apply (zenon_L107_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H8fd); [ zenon_intro zenon_H904 | zenon_intro zenon_H903 ].
% 47.44/47.60  cut (((op (e4) (e5)) = (e0)) = ((op (op (e3) (e5)) (e5)) = (op (e3) (op (e5) (e5))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H904.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_Hc9.
% 47.44/47.60  cut (((e0) = (op (e3) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2ab].
% 47.44/47.60  cut (((op (e4) (e5)) = (op (op (e3) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H905].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e3) (e5)) (e5)) = (op (op (e3) (e5)) (e5)))); [ zenon_intro zenon_H906 | zenon_intro zenon_H907 ].
% 47.44/47.60  cut (((op (op (e3) (e5)) (e5)) = (op (op (e3) (e5)) (e5))) = ((op (e4) (e5)) = (op (op (e3) (e5)) (e5)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H905.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H906.
% 47.44/47.60  cut (((op (op (e3) (e5)) (e5)) = (op (op (e3) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H907].
% 47.44/47.60  cut (((op (op (e3) (e5)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H908].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.60  cut (((op (e3) (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_Ha0 zenon_H99).
% 47.44/47.60  apply zenon_H25. apply refl_equal.
% 47.44/47.60  apply zenon_H907. apply refl_equal.
% 47.44/47.60  apply zenon_H907. apply refl_equal.
% 47.44/47.60  apply (zenon_L108_); trivial.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H903); [ zenon_intro zenon_H90a | zenon_intro zenon_H909 ].
% 47.44/47.60  cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H59e].
% 47.44/47.60  cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_Ha8 zenon_Ha1).
% 47.44/47.60  apply zenon_H59e. apply sym_equal. exact zenon_H10.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H909); [ zenon_intro zenon_H90c | zenon_intro zenon_H90b ].
% 47.44/47.60  cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H416].
% 47.44/47.60  cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_Ha8 zenon_Ha1).
% 47.44/47.60  apply zenon_H416. apply sym_equal. exact zenon_H7.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H90b); [ zenon_intro zenon_H90e | zenon_intro zenon_H90d ].
% 47.44/47.60  cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H42c].
% 47.44/47.60  cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_Ha8 zenon_Ha1).
% 47.44/47.60  apply zenon_H42c. apply sym_equal. exact zenon_H2f.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H90d); [ zenon_intro zenon_H910 | zenon_intro zenon_H90f ].
% 47.44/47.60  cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H442].
% 47.44/47.60  cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_Ha8 zenon_Ha1).
% 47.44/47.60  apply zenon_H442. apply sym_equal. exact zenon_H38.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H90f); [ zenon_intro zenon_H912 | zenon_intro zenon_H911 ].
% 47.44/47.60  cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H458].
% 47.44/47.60  cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_Ha8 zenon_Ha1).
% 47.44/47.60  apply zenon_H458. apply sym_equal. exact zenon_H1b.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H911); [ zenon_intro zenon_H914 | zenon_intro zenon_H913 ].
% 47.44/47.60  cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46e].
% 47.44/47.60  cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_Ha8 zenon_Ha1).
% 47.44/47.60  apply zenon_H46e. apply sym_equal. exact zenon_H26.
% 47.44/47.60  apply (zenon_notand_s _ _ zenon_H913); [ zenon_intro zenon_H916 | zenon_intro zenon_H915 ].
% 47.44/47.60  cut (((op (e2) (e0)) = (e2)) = ((op (op (e4) (e1)) (e0)) = (op (e4) (op (e1) (e0))))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H916.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H41.
% 47.44/47.60  cut (((e2) = (op (e4) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2b1].
% 47.44/47.60  cut (((op (e2) (e0)) = (op (op (e4) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H917].
% 47.44/47.60  congruence.
% 47.44/47.60  elim (classic ((op (op (e4) (e1)) (e0)) = (op (op (e4) (e1)) (e0)))); [ zenon_intro zenon_H918 | zenon_intro zenon_H919 ].
% 47.44/47.60  cut (((op (op (e4) (e1)) (e0)) = (op (op (e4) (e1)) (e0))) = ((op (e2) (e0)) = (op (op (e4) (e1)) (e0)))).
% 47.44/47.60  intro zenon_D_pnotp.
% 47.44/47.60  apply zenon_H917.
% 47.44/47.60  rewrite <- zenon_D_pnotp.
% 47.44/47.60  exact zenon_H918.
% 47.44/47.60  cut (((op (op (e4) (e1)) (e0)) = (op (op (e4) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H919].
% 47.44/47.60  cut (((op (op (e4) (e1)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H91a].
% 47.44/47.60  congruence.
% 47.44/47.60  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.60  cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 47.44/47.60  congruence.
% 47.44/47.60  exact (zenon_Hb0 zenon_Ha9).
% 47.44/47.60  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply zenon_H919. apply refl_equal.
% 47.44/47.61  apply zenon_H919. apply refl_equal.
% 47.44/47.61  apply (zenon_L109_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H915); [ zenon_intro zenon_H91c | zenon_intro zenon_H91b ].
% 47.44/47.61  cut (((op (e2) (e1)) = (e4)) = ((op (op (e4) (e1)) (e1)) = (op (e4) (op (e1) (e1))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H91c.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H49.
% 47.44/47.61  cut (((e4) = (op (e4) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2b7].
% 47.44/47.61  cut (((op (e2) (e1)) = (op (op (e4) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H91d].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e1)) (e1)) = (op (op (e4) (e1)) (e1)))); [ zenon_intro zenon_H91e | zenon_intro zenon_H91f ].
% 47.44/47.61  cut (((op (op (e4) (e1)) (e1)) = (op (op (e4) (e1)) (e1))) = ((op (e2) (e1)) = (op (op (e4) (e1)) (e1)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H91d.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H91e.
% 47.44/47.61  cut (((op (op (e4) (e1)) (e1)) = (op (op (e4) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H91f].
% 47.44/47.61  cut (((op (op (e4) (e1)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H920].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb0 zenon_Ha9).
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply zenon_H91f. apply refl_equal.
% 47.44/47.61  apply zenon_H91f. apply refl_equal.
% 47.44/47.61  apply (zenon_L110_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H91b); [ zenon_intro zenon_H922 | zenon_intro zenon_H921 ].
% 47.44/47.61  cut (((op (e2) (e2)) = (e3)) = ((op (op (e4) (e1)) (e2)) = (op (e4) (op (e1) (e2))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H922.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H51.
% 47.44/47.61  cut (((e3) = (op (e4) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2bd].
% 47.44/47.61  cut (((op (e2) (e2)) = (op (op (e4) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H923].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e1)) (e2)) = (op (op (e4) (e1)) (e2)))); [ zenon_intro zenon_H924 | zenon_intro zenon_H925 ].
% 47.44/47.61  cut (((op (op (e4) (e1)) (e2)) = (op (op (e4) (e1)) (e2))) = ((op (e2) (e2)) = (op (op (e4) (e1)) (e2)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H923.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H924.
% 47.44/47.61  cut (((op (op (e4) (e1)) (e2)) = (op (op (e4) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H925].
% 47.44/47.61  cut (((op (op (e4) (e1)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H926].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb0 zenon_Ha9).
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply zenon_H925. apply refl_equal.
% 47.44/47.61  apply zenon_H925. apply refl_equal.
% 47.44/47.61  apply (zenon_L111_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H921); [ zenon_intro zenon_H928 | zenon_intro zenon_H927 ].
% 47.44/47.61  cut (((op (e2) (e3)) = (e0)) = ((op (op (e4) (e1)) (e3)) = (op (e4) (op (e1) (e3))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H928.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H59.
% 47.44/47.61  cut (((e0) = (op (e4) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2c3].
% 47.44/47.61  cut (((op (e2) (e3)) = (op (op (e4) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H929].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e1)) (e3)) = (op (op (e4) (e1)) (e3)))); [ zenon_intro zenon_H92a | zenon_intro zenon_H92b ].
% 47.44/47.61  cut (((op (op (e4) (e1)) (e3)) = (op (op (e4) (e1)) (e3))) = ((op (e2) (e3)) = (op (op (e4) (e1)) (e3)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H929.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H92a.
% 47.44/47.61  cut (((op (op (e4) (e1)) (e3)) = (op (op (e4) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H92b].
% 47.44/47.61  cut (((op (op (e4) (e1)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H92c].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb0 zenon_Ha9).
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply zenon_H92b. apply refl_equal.
% 47.44/47.61  apply zenon_H92b. apply refl_equal.
% 47.44/47.61  apply (zenon_L112_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H927); [ zenon_intro zenon_H92e | zenon_intro zenon_H92d ].
% 47.44/47.61  cut (((op (e2) (e4)) = (e5)) = ((op (op (e4) (e1)) (e4)) = (op (e4) (op (e1) (e4))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H92e.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H61.
% 47.44/47.61  cut (((e5) = (op (e4) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2c9].
% 47.44/47.61  cut (((op (e2) (e4)) = (op (op (e4) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H92f].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e1)) (e4)) = (op (op (e4) (e1)) (e4)))); [ zenon_intro zenon_H930 | zenon_intro zenon_H931 ].
% 47.44/47.61  cut (((op (op (e4) (e1)) (e4)) = (op (op (e4) (e1)) (e4))) = ((op (e2) (e4)) = (op (op (e4) (e1)) (e4)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H92f.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H930.
% 47.44/47.61  cut (((op (op (e4) (e1)) (e4)) = (op (op (e4) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H931].
% 47.44/47.61  cut (((op (op (e4) (e1)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H932].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb0 zenon_Ha9).
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply zenon_H931. apply refl_equal.
% 47.44/47.61  apply zenon_H931. apply refl_equal.
% 47.44/47.61  apply (zenon_L113_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H92d); [ zenon_intro zenon_H934 | zenon_intro zenon_H933 ].
% 47.44/47.61  cut (((op (e2) (e5)) = (e1)) = ((op (op (e4) (e1)) (e5)) = (op (e4) (op (e1) (e5))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H934.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H69.
% 47.44/47.61  cut (((e1) = (op (e4) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2cf].
% 47.44/47.61  cut (((op (e2) (e5)) = (op (op (e4) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H935].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e1)) (e5)) = (op (op (e4) (e1)) (e5)))); [ zenon_intro zenon_H936 | zenon_intro zenon_H937 ].
% 47.44/47.61  cut (((op (op (e4) (e1)) (e5)) = (op (op (e4) (e1)) (e5))) = ((op (e2) (e5)) = (op (op (e4) (e1)) (e5)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H935.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H936.
% 47.44/47.61  cut (((op (op (e4) (e1)) (e5)) = (op (op (e4) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H937].
% 47.44/47.61  cut (((op (op (e4) (e1)) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H938].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb0 zenon_Ha9).
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply zenon_H937. apply refl_equal.
% 47.44/47.61  apply zenon_H937. apply refl_equal.
% 47.44/47.61  apply (zenon_L114_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H933); [ zenon_intro zenon_H93a | zenon_intro zenon_H939 ].
% 47.44/47.61  cut (((op (e5) (e0)) = (e5)) = ((op (op (e4) (e2)) (e0)) = (op (e4) (op (e2) (e0))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H93a.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hd1.
% 47.44/47.61  cut (((e5) = (op (e4) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2d5].
% 47.44/47.61  cut (((op (e5) (e0)) = (op (op (e4) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H93b].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e2)) (e0)) = (op (op (e4) (e2)) (e0)))); [ zenon_intro zenon_H93c | zenon_intro zenon_H93d ].
% 47.44/47.61  cut (((op (op (e4) (e2)) (e0)) = (op (op (e4) (e2)) (e0))) = ((op (e5) (e0)) = (op (op (e4) (e2)) (e0)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H93b.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H93c.
% 47.44/47.61  cut (((op (op (e4) (e2)) (e0)) = (op (op (e4) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H93d].
% 47.44/47.61  cut (((op (op (e4) (e2)) (e0)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H93e].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb8 zenon_Hb1).
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply zenon_H93d. apply refl_equal.
% 47.44/47.61  apply zenon_H93d. apply refl_equal.
% 47.44/47.61  apply (zenon_L115_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H939); [ zenon_intro zenon_H940 | zenon_intro zenon_H93f ].
% 47.44/47.61  cut (((op (e5) (e1)) = (e3)) = ((op (op (e4) (e2)) (e1)) = (op (e4) (op (e2) (e1))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H940.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hd9.
% 47.44/47.61  cut (((e3) = (op (e4) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2db].
% 47.44/47.61  cut (((op (e5) (e1)) = (op (op (e4) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H941].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e2)) (e1)) = (op (op (e4) (e2)) (e1)))); [ zenon_intro zenon_H942 | zenon_intro zenon_H943 ].
% 47.44/47.61  cut (((op (op (e4) (e2)) (e1)) = (op (op (e4) (e2)) (e1))) = ((op (e5) (e1)) = (op (op (e4) (e2)) (e1)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H941.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H942.
% 47.44/47.61  cut (((op (op (e4) (e2)) (e1)) = (op (op (e4) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H943].
% 47.44/47.61  cut (((op (op (e4) (e2)) (e1)) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H944].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb8 zenon_Hb1).
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply zenon_H943. apply refl_equal.
% 47.44/47.61  apply zenon_H943. apply refl_equal.
% 47.44/47.61  apply (zenon_L116_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H93f); [ zenon_intro zenon_H946 | zenon_intro zenon_H945 ].
% 47.44/47.61  cut (((op (e5) (e2)) = (e1)) = ((op (op (e4) (e2)) (e2)) = (op (e4) (op (e2) (e2))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H946.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_He1.
% 47.44/47.61  cut (((e1) = (op (e4) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H2e1].
% 47.44/47.61  cut (((op (e5) (e2)) = (op (op (e4) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H947].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e2)) (e2)) = (op (op (e4) (e2)) (e2)))); [ zenon_intro zenon_H948 | zenon_intro zenon_H949 ].
% 47.44/47.61  cut (((op (op (e4) (e2)) (e2)) = (op (op (e4) (e2)) (e2))) = ((op (e5) (e2)) = (op (op (e4) (e2)) (e2)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H947.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H948.
% 47.44/47.61  cut (((op (op (e4) (e2)) (e2)) = (op (op (e4) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H949].
% 47.44/47.61  cut (((op (op (e4) (e2)) (e2)) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H94a].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb8 zenon_Hb1).
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply zenon_H949. apply refl_equal.
% 47.44/47.61  apply zenon_H949. apply refl_equal.
% 47.44/47.61  apply (zenon_L117_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H945); [ zenon_intro zenon_H94c | zenon_intro zenon_H94b ].
% 47.44/47.61  cut (((op (e5) (e3)) = (e4)) = ((op (op (e4) (e2)) (e3)) = (op (e4) (op (e2) (e3))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H94c.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_He9.
% 47.44/47.61  cut (((e4) = (op (e4) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2e7].
% 47.44/47.61  cut (((op (e5) (e3)) = (op (op (e4) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H94d].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e2)) (e3)) = (op (op (e4) (e2)) (e3)))); [ zenon_intro zenon_H94e | zenon_intro zenon_H94f ].
% 47.44/47.61  cut (((op (op (e4) (e2)) (e3)) = (op (op (e4) (e2)) (e3))) = ((op (e5) (e3)) = (op (op (e4) (e2)) (e3)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H94d.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H94e.
% 47.44/47.61  cut (((op (op (e4) (e2)) (e3)) = (op (op (e4) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H94f].
% 47.44/47.61  cut (((op (op (e4) (e2)) (e3)) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H950].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb8 zenon_Hb1).
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply zenon_H94f. apply refl_equal.
% 47.44/47.61  apply zenon_H94f. apply refl_equal.
% 47.44/47.61  apply (zenon_L118_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H94b); [ zenon_intro zenon_H952 | zenon_intro zenon_H951 ].
% 47.44/47.61  cut (((op (e5) (e4)) = (e0)) = ((op (op (e4) (e2)) (e4)) = (op (e4) (op (e2) (e4))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H952.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hf1.
% 47.44/47.61  cut (((e0) = (op (e4) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H2ed].
% 47.44/47.61  cut (((op (e5) (e4)) = (op (op (e4) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H953].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e2)) (e4)) = (op (op (e4) (e2)) (e4)))); [ zenon_intro zenon_H954 | zenon_intro zenon_H955 ].
% 47.44/47.61  cut (((op (op (e4) (e2)) (e4)) = (op (op (e4) (e2)) (e4))) = ((op (e5) (e4)) = (op (op (e4) (e2)) (e4)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H953.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H954.
% 47.44/47.61  cut (((op (op (e4) (e2)) (e4)) = (op (op (e4) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H955].
% 47.44/47.61  cut (((op (op (e4) (e2)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H956].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb8 zenon_Hb1).
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply zenon_H955. apply refl_equal.
% 47.44/47.61  apply zenon_H955. apply refl_equal.
% 47.44/47.61  apply (zenon_L119_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H951); [ zenon_intro zenon_H958 | zenon_intro zenon_H957 ].
% 47.44/47.61  cut (((op (e5) (e5)) = (e2)) = ((op (op (e4) (e2)) (e5)) = (op (e4) (op (e2) (e5))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H958.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hf9.
% 47.44/47.61  cut (((e2) = (op (e4) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H2f3].
% 47.44/47.61  cut (((op (e5) (e5)) = (op (op (e4) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H959].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e2)) (e5)) = (op (op (e4) (e2)) (e5)))); [ zenon_intro zenon_H95a | zenon_intro zenon_H95b ].
% 47.44/47.61  cut (((op (op (e4) (e2)) (e5)) = (op (op (e4) (e2)) (e5))) = ((op (e5) (e5)) = (op (op (e4) (e2)) (e5)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H959.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H95a.
% 47.44/47.61  cut (((op (op (e4) (e2)) (e5)) = (op (op (e4) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H95b].
% 47.44/47.61  cut (((op (op (e4) (e2)) (e5)) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H95c].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb8 zenon_Hb1).
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply zenon_H95b. apply refl_equal.
% 47.44/47.61  apply zenon_H95b. apply refl_equal.
% 47.44/47.61  apply (zenon_L120_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H957); [ zenon_intro zenon_H95e | zenon_intro zenon_H95d ].
% 47.44/47.61  cut (((op (e1) (e0)) = (e1)) = ((op (op (e4) (e3)) (e0)) = (op (e4) (op (e3) (e0))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H95e.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H8.
% 47.44/47.61  cut (((e1) = (op (e4) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2f9].
% 47.44/47.61  cut (((op (e1) (e0)) = (op (op (e4) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H95f].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e3)) (e0)) = (op (op (e4) (e3)) (e0)))); [ zenon_intro zenon_H960 | zenon_intro zenon_H961 ].
% 47.44/47.61  cut (((op (op (e4) (e3)) (e0)) = (op (op (e4) (e3)) (e0))) = ((op (e1) (e0)) = (op (op (e4) (e3)) (e0)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H95f.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H960.
% 47.44/47.61  cut (((op (op (e4) (e3)) (e0)) = (op (op (e4) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H961].
% 47.44/47.61  cut (((op (op (e4) (e3)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H962].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hc0 zenon_Hb9).
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply zenon_H961. apply refl_equal.
% 47.44/47.61  apply zenon_H961. apply refl_equal.
% 47.44/47.61  apply (zenon_L121_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H95d); [ zenon_intro zenon_H964 | zenon_intro zenon_H963 ].
% 47.44/47.61  cut (((op (e1) (e1)) = (e0)) = ((op (op (e4) (e3)) (e1)) = (op (e4) (op (e3) (e1))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H964.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H11.
% 47.44/47.61  cut (((e0) = (op (e4) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H2ff].
% 47.44/47.61  cut (((op (e1) (e1)) = (op (op (e4) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H965].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e3)) (e1)) = (op (op (e4) (e3)) (e1)))); [ zenon_intro zenon_H966 | zenon_intro zenon_H967 ].
% 47.44/47.61  cut (((op (op (e4) (e3)) (e1)) = (op (op (e4) (e3)) (e1))) = ((op (e1) (e1)) = (op (op (e4) (e3)) (e1)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H965.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H966.
% 47.44/47.61  cut (((op (op (e4) (e3)) (e1)) = (op (op (e4) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H967].
% 47.44/47.61  cut (((op (op (e4) (e3)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H968].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hc0 zenon_Hb9).
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply zenon_H967. apply refl_equal.
% 47.44/47.61  apply zenon_H967. apply refl_equal.
% 47.44/47.61  apply (zenon_L122_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H963); [ zenon_intro zenon_H96a | zenon_intro zenon_H969 ].
% 47.44/47.61  cut (((op (e1) (e2)) = (e4)) = ((op (op (e4) (e3)) (e2)) = (op (e4) (op (e3) (e2))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H96a.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H1c.
% 47.44/47.61  cut (((e4) = (op (e4) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H305].
% 47.44/47.61  cut (((op (e1) (e2)) = (op (op (e4) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96b].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e3)) (e2)) = (op (op (e4) (e3)) (e2)))); [ zenon_intro zenon_H96c | zenon_intro zenon_H96d ].
% 47.44/47.61  cut (((op (op (e4) (e3)) (e2)) = (op (op (e4) (e3)) (e2))) = ((op (e1) (e2)) = (op (op (e4) (e3)) (e2)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H96b.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H96c.
% 47.44/47.61  cut (((op (op (e4) (e3)) (e2)) = (op (op (e4) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96d].
% 47.44/47.61  cut (((op (op (e4) (e3)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96e].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hc0 zenon_Hb9).
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply zenon_H96d. apply refl_equal.
% 47.44/47.61  apply zenon_H96d. apply refl_equal.
% 47.44/47.61  apply (zenon_L123_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H969); [ zenon_intro zenon_H970 | zenon_intro zenon_H96f ].
% 47.44/47.61  cut (((op (e1) (e3)) = (e5)) = ((op (op (e4) (e3)) (e3)) = (op (e4) (op (e3) (e3))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H970.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H27.
% 47.44/47.61  cut (((e5) = (op (e4) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H30b].
% 47.44/47.61  cut (((op (e1) (e3)) = (op (op (e4) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H971].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e3)) (e3)) = (op (op (e4) (e3)) (e3)))); [ zenon_intro zenon_H972 | zenon_intro zenon_H973 ].
% 47.44/47.61  cut (((op (op (e4) (e3)) (e3)) = (op (op (e4) (e3)) (e3))) = ((op (e1) (e3)) = (op (op (e4) (e3)) (e3)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H971.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H972.
% 47.44/47.61  cut (((op (op (e4) (e3)) (e3)) = (op (op (e4) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H973].
% 47.44/47.61  cut (((op (op (e4) (e3)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H974].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hc0 zenon_Hb9).
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply zenon_H973. apply refl_equal.
% 47.44/47.61  apply zenon_H973. apply refl_equal.
% 47.44/47.61  apply (zenon_L124_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H96f); [ zenon_intro zenon_H976 | zenon_intro zenon_H975 ].
% 47.44/47.61  cut (((op (e1) (e4)) = (e2)) = ((op (op (e4) (e3)) (e4)) = (op (e4) (op (e3) (e4))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H976.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H30.
% 47.44/47.61  cut (((e2) = (op (e4) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H311].
% 47.44/47.61  cut (((op (e1) (e4)) = (op (op (e4) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H977].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e3)) (e4)) = (op (op (e4) (e3)) (e4)))); [ zenon_intro zenon_H978 | zenon_intro zenon_H979 ].
% 47.44/47.61  cut (((op (op (e4) (e3)) (e4)) = (op (op (e4) (e3)) (e4))) = ((op (e1) (e4)) = (op (op (e4) (e3)) (e4)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H977.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H978.
% 47.44/47.61  cut (((op (op (e4) (e3)) (e4)) = (op (op (e4) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H979].
% 47.44/47.61  cut (((op (op (e4) (e3)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H97a].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hc0 zenon_Hb9).
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply zenon_H979. apply refl_equal.
% 47.44/47.61  apply zenon_H979. apply refl_equal.
% 47.44/47.61  apply (zenon_L125_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H975); [ zenon_intro zenon_H97c | zenon_intro zenon_H97b ].
% 47.44/47.61  cut (((op (e1) (e5)) = (e3)) = ((op (op (e4) (e3)) (e5)) = (op (e4) (op (e3) (e5))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H97c.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H39.
% 47.44/47.61  cut (((e3) = (op (e4) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H317].
% 47.44/47.61  cut (((op (e1) (e5)) = (op (op (e4) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H97d].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e3)) (e5)) = (op (op (e4) (e3)) (e5)))); [ zenon_intro zenon_H97e | zenon_intro zenon_H97f ].
% 47.44/47.61  cut (((op (op (e4) (e3)) (e5)) = (op (op (e4) (e3)) (e5))) = ((op (e1) (e5)) = (op (op (e4) (e3)) (e5)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H97d.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H97e.
% 47.44/47.61  cut (((op (op (e4) (e3)) (e5)) = (op (op (e4) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H97f].
% 47.44/47.61  cut (((op (op (e4) (e3)) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H980].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hc0 zenon_Hb9).
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply zenon_H97f. apply refl_equal.
% 47.44/47.61  apply zenon_H97f. apply refl_equal.
% 47.44/47.61  apply (zenon_L126_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H97b); [ zenon_intro zenon_H982 | zenon_intro zenon_H981 ].
% 47.44/47.61  cut (((op (e3) (e0)) = (e3)) = ((op (op (e4) (e4)) (e0)) = (op (e4) (op (e4) (e0))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H982.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H71.
% 47.44/47.61  cut (((e3) = (op (e4) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H31d].
% 47.44/47.61  cut (((op (e3) (e0)) = (op (op (e4) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H983].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e4)) (e0)) = (op (op (e4) (e4)) (e0)))); [ zenon_intro zenon_H984 | zenon_intro zenon_H985 ].
% 47.44/47.61  cut (((op (op (e4) (e4)) (e0)) = (op (op (e4) (e4)) (e0))) = ((op (e3) (e0)) = (op (op (e4) (e4)) (e0)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H983.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H984.
% 47.44/47.61  cut (((op (op (e4) (e4)) (e0)) = (op (op (e4) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H985].
% 47.44/47.61  cut (((op (op (e4) (e4)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H986].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hc8 zenon_Hc1).
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply zenon_H985. apply refl_equal.
% 47.44/47.61  apply zenon_H985. apply refl_equal.
% 47.44/47.61  apply (zenon_L127_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H981); [ zenon_intro zenon_H988 | zenon_intro zenon_H987 ].
% 47.44/47.61  cut (((op (e3) (e1)) = (e5)) = ((op (op (e4) (e4)) (e1)) = (op (e4) (op (e4) (e1))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H988.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H79.
% 47.44/47.61  cut (((e5) = (op (e4) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H323].
% 47.44/47.61  cut (((op (e3) (e1)) = (op (op (e4) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H989].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e4)) (e1)) = (op (op (e4) (e4)) (e1)))); [ zenon_intro zenon_H98a | zenon_intro zenon_H98b ].
% 47.44/47.61  cut (((op (op (e4) (e4)) (e1)) = (op (op (e4) (e4)) (e1))) = ((op (e3) (e1)) = (op (op (e4) (e4)) (e1)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H989.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H98a.
% 47.44/47.61  cut (((op (op (e4) (e4)) (e1)) = (op (op (e4) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H98b].
% 47.44/47.61  cut (((op (op (e4) (e4)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H98c].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hc8 zenon_Hc1).
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply zenon_H98b. apply refl_equal.
% 47.44/47.61  apply zenon_H98b. apply refl_equal.
% 47.44/47.61  apply (zenon_L128_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H987); [ zenon_intro zenon_H98e | zenon_intro zenon_H98d ].
% 47.44/47.61  cut (((op (e3) (e2)) = (e0)) = ((op (op (e4) (e4)) (e2)) = (op (e4) (op (e4) (e2))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H98e.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H81.
% 47.44/47.61  cut (((e0) = (op (e4) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H329].
% 47.44/47.61  cut (((op (e3) (e2)) = (op (op (e4) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H98f].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e4)) (e2)) = (op (op (e4) (e4)) (e2)))); [ zenon_intro zenon_H990 | zenon_intro zenon_H991 ].
% 47.44/47.61  cut (((op (op (e4) (e4)) (e2)) = (op (op (e4) (e4)) (e2))) = ((op (e3) (e2)) = (op (op (e4) (e4)) (e2)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H98f.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H990.
% 47.44/47.61  cut (((op (op (e4) (e4)) (e2)) = (op (op (e4) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H991].
% 47.44/47.61  cut (((op (op (e4) (e4)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H992].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hc8 zenon_Hc1).
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply zenon_H991. apply refl_equal.
% 47.44/47.61  apply zenon_H991. apply refl_equal.
% 47.44/47.61  apply (zenon_L129_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H98d); [ zenon_intro zenon_H994 | zenon_intro zenon_H993 ].
% 47.44/47.61  cut (((op (e3) (e3)) = (e2)) = ((op (op (e4) (e4)) (e3)) = (op (e4) (op (e4) (e3))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H994.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H89.
% 47.44/47.61  cut (((e2) = (op (e4) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H32f].
% 47.44/47.61  cut (((op (e3) (e3)) = (op (op (e4) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H995].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e4)) (e3)) = (op (op (e4) (e4)) (e3)))); [ zenon_intro zenon_H996 | zenon_intro zenon_H997 ].
% 47.44/47.61  cut (((op (op (e4) (e4)) (e3)) = (op (op (e4) (e4)) (e3))) = ((op (e3) (e3)) = (op (op (e4) (e4)) (e3)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H995.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H996.
% 47.44/47.61  cut (((op (op (e4) (e4)) (e3)) = (op (op (e4) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H997].
% 47.44/47.61  cut (((op (op (e4) (e4)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H998].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hc8 zenon_Hc1).
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply zenon_H997. apply refl_equal.
% 47.44/47.61  apply zenon_H997. apply refl_equal.
% 47.44/47.61  apply (zenon_L130_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H993); [ zenon_intro zenon_H99a | zenon_intro zenon_H999 ].
% 47.44/47.61  cut (((op (e3) (e4)) = (e1)) = ((op (op (e4) (e4)) (e4)) = (op (e4) (op (e4) (e4))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H99a.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H91.
% 47.44/47.61  cut (((e1) = (op (e4) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H335].
% 47.44/47.61  cut (((op (e3) (e4)) = (op (op (e4) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H99b].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e4)) (e4)) = (op (op (e4) (e4)) (e4)))); [ zenon_intro zenon_H99c | zenon_intro zenon_H99d ].
% 47.44/47.61  cut (((op (op (e4) (e4)) (e4)) = (op (op (e4) (e4)) (e4))) = ((op (e3) (e4)) = (op (op (e4) (e4)) (e4)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H99b.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H99c.
% 47.44/47.61  cut (((op (op (e4) (e4)) (e4)) = (op (op (e4) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H99d].
% 47.44/47.61  cut (((op (op (e4) (e4)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H99e].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hc8 zenon_Hc1).
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply zenon_H99d. apply refl_equal.
% 47.44/47.61  apply zenon_H99d. apply refl_equal.
% 47.44/47.61  apply (zenon_L131_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H999); [ zenon_intro zenon_H9a0 | zenon_intro zenon_H99f ].
% 47.44/47.61  cut (((op (e3) (e5)) = (e4)) = ((op (op (e4) (e4)) (e5)) = (op (e4) (op (e4) (e5))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9a0.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H99.
% 47.44/47.61  cut (((e4) = (op (e4) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H33b].
% 47.44/47.61  cut (((op (e3) (e5)) = (op (op (e4) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9a1].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e4)) (e5)) = (op (op (e4) (e4)) (e5)))); [ zenon_intro zenon_H9a2 | zenon_intro zenon_H9a3 ].
% 47.44/47.61  cut (((op (op (e4) (e4)) (e5)) = (op (op (e4) (e4)) (e5))) = ((op (e3) (e5)) = (op (op (e4) (e4)) (e5)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9a1.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9a2.
% 47.44/47.61  cut (((op (op (e4) (e4)) (e5)) = (op (op (e4) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9a3].
% 47.44/47.61  cut (((op (op (e4) (e4)) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9a4].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hc8 zenon_Hc1).
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply zenon_H9a3. apply refl_equal.
% 47.44/47.61  apply zenon_H9a3. apply refl_equal.
% 47.44/47.61  apply (zenon_L132_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H99f); [ zenon_intro zenon_H9a6 | zenon_intro zenon_H9a5 ].
% 47.44/47.61  cut (((op (e0) (e0)) = (e0)) = ((op (op (e4) (e5)) (e0)) = (op (e4) (op (e5) (e0))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9a6.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H10.
% 47.44/47.61  cut (((e0) = (op (e4) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H9a7].
% 47.44/47.61  cut (((op (e0) (e0)) = (op (op (e4) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9a8].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e5)) (e0)) = (op (op (e4) (e5)) (e0)))); [ zenon_intro zenon_H9a9 | zenon_intro zenon_H9aa ].
% 47.44/47.61  cut (((op (op (e4) (e5)) (e0)) = (op (op (e4) (e5)) (e0))) = ((op (e0) (e0)) = (op (op (e4) (e5)) (e0)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9a8.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9a9.
% 47.44/47.61  cut (((op (op (e4) (e5)) (e0)) = (op (op (e4) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9aa].
% 47.44/47.61  cut (((op (op (e4) (e5)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9ab].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hd0 zenon_Hc9).
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply zenon_H9aa. apply refl_equal.
% 47.44/47.61  apply zenon_H9aa. apply refl_equal.
% 47.44/47.61  elim (classic ((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0))))); [ zenon_intro zenon_H9ac | zenon_intro zenon_H9ad ].
% 47.44/47.61  cut (((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0)))) = ((e0) = (op (e4) (op (e5) (e0))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9a7.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9ac.
% 47.44/47.61  cut (((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H9ad].
% 47.44/47.61  cut (((op (e4) (op (e5) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H9ae].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e4) (e5)) = (e0)) = ((op (e4) (op (e5) (e0))) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9ae.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hc9.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e4) (e5)) = (op (e4) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H9af].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0))))); [ zenon_intro zenon_H9ac | zenon_intro zenon_H9ad ].
% 47.44/47.61  cut (((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0)))) = ((op (e4) (e5)) = (op (e4) (op (e5) (e0))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9af.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9ac.
% 47.44/47.61  cut (((op (e4) (op (e5) (e0))) = (op (e4) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H9ad].
% 47.44/47.61  cut (((op (e4) (op (e5) (e0))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9b0].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  exact (zenon_Hd8 zenon_Hd1).
% 47.44/47.61  apply zenon_H9ad. apply refl_equal.
% 47.44/47.61  apply zenon_H9ad. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply zenon_H9ad. apply refl_equal.
% 47.44/47.61  apply zenon_H9ad. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H9a5); [ zenon_intro zenon_H9b2 | zenon_intro zenon_H9b1 ].
% 47.44/47.61  cut (((op (e0) (e1)) = (e1)) = ((op (op (e4) (e5)) (e1)) = (op (e4) (op (e5) (e1))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9b2.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H7.
% 47.44/47.61  cut (((e1) = (op (e4) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H9b3].
% 47.44/47.61  cut (((op (e0) (e1)) = (op (op (e4) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9b4].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e5)) (e1)) = (op (op (e4) (e5)) (e1)))); [ zenon_intro zenon_H9b5 | zenon_intro zenon_H9b6 ].
% 47.44/47.61  cut (((op (op (e4) (e5)) (e1)) = (op (op (e4) (e5)) (e1))) = ((op (e0) (e1)) = (op (op (e4) (e5)) (e1)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9b4.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9b5.
% 47.44/47.61  cut (((op (op (e4) (e5)) (e1)) = (op (op (e4) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9b6].
% 47.44/47.61  cut (((op (op (e4) (e5)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9b7].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hd0 zenon_Hc9).
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply zenon_H9b6. apply refl_equal.
% 47.44/47.61  apply zenon_H9b6. apply refl_equal.
% 47.44/47.61  elim (classic ((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1))))); [ zenon_intro zenon_H9b8 | zenon_intro zenon_H9b9 ].
% 47.44/47.61  cut (((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1)))) = ((e1) = (op (e4) (op (e5) (e1))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9b3.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9b8.
% 47.44/47.61  cut (((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H9b9].
% 47.44/47.61  cut (((op (e4) (op (e5) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H9ba].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e4) (e3)) = (e1)) = ((op (e4) (op (e5) (e1))) = (e1))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9ba.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb9.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((op (e4) (e3)) = (op (e4) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H9bb].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1))))); [ zenon_intro zenon_H9b8 | zenon_intro zenon_H9b9 ].
% 47.44/47.61  cut (((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1)))) = ((op (e4) (e3)) = (op (e4) (op (e5) (e1))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9bb.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9b8.
% 47.44/47.61  cut (((op (e4) (op (e5) (e1))) = (op (e4) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H9b9].
% 47.44/47.61  cut (((op (e4) (op (e5) (e1))) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H9bc].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  exact (zenon_He0 zenon_Hd9).
% 47.44/47.61  apply zenon_H9b9. apply refl_equal.
% 47.44/47.61  apply zenon_H9b9. apply refl_equal.
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply zenon_H9b9. apply refl_equal.
% 47.44/47.61  apply zenon_H9b9. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H9b1); [ zenon_intro zenon_H9be | zenon_intro zenon_H9bd ].
% 47.44/47.61  cut (((op (e0) (e2)) = (e2)) = ((op (op (e4) (e5)) (e2)) = (op (e4) (op (e5) (e2))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9be.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H2f.
% 47.44/47.61  cut (((e2) = (op (e4) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H9bf].
% 47.44/47.61  cut (((op (e0) (e2)) = (op (op (e4) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9c0].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e5)) (e2)) = (op (op (e4) (e5)) (e2)))); [ zenon_intro zenon_H9c1 | zenon_intro zenon_H9c2 ].
% 47.44/47.61  cut (((op (op (e4) (e5)) (e2)) = (op (op (e4) (e5)) (e2))) = ((op (e0) (e2)) = (op (op (e4) (e5)) (e2)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9c0.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9c1.
% 47.44/47.61  cut (((op (op (e4) (e5)) (e2)) = (op (op (e4) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9c2].
% 47.44/47.61  cut (((op (op (e4) (e5)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9c3].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hd0 zenon_Hc9).
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply zenon_H9c2. apply refl_equal.
% 47.44/47.61  apply zenon_H9c2. apply refl_equal.
% 47.44/47.61  elim (classic ((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2))))); [ zenon_intro zenon_H9c4 | zenon_intro zenon_H9c5 ].
% 47.44/47.61  cut (((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2)))) = ((e2) = (op (e4) (op (e5) (e2))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9bf.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9c4.
% 47.44/47.61  cut (((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H9c5].
% 47.44/47.61  cut (((op (e4) (op (e5) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H9c6].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e4) (e1)) = (e2)) = ((op (e4) (op (e5) (e2))) = (e2))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9c6.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha9.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((op (e4) (e1)) = (op (e4) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H9c7].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2))))); [ zenon_intro zenon_H9c4 | zenon_intro zenon_H9c5 ].
% 47.44/47.61  cut (((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2)))) = ((op (e4) (e1)) = (op (e4) (op (e5) (e2))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9c7.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9c4.
% 47.44/47.61  cut (((op (e4) (op (e5) (e2))) = (op (e4) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H9c5].
% 47.44/47.61  cut (((op (e4) (op (e5) (e2))) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9c8].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8].
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  exact (zenon_He8 zenon_He1).
% 47.44/47.61  apply zenon_H9c5. apply refl_equal.
% 47.44/47.61  apply zenon_H9c5. apply refl_equal.
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply zenon_H9c5. apply refl_equal.
% 47.44/47.61  apply zenon_H9c5. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H9bd); [ zenon_intro zenon_H9ca | zenon_intro zenon_H9c9 ].
% 47.44/47.61  cut (((op (e0) (e3)) = (e3)) = ((op (op (e4) (e5)) (e3)) = (op (e4) (op (e5) (e3))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9ca.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H38.
% 47.44/47.61  cut (((e3) = (op (e4) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H9cb].
% 47.44/47.61  cut (((op (e0) (e3)) = (op (op (e4) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H9cc].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e5)) (e3)) = (op (op (e4) (e5)) (e3)))); [ zenon_intro zenon_H9cd | zenon_intro zenon_H9ce ].
% 47.44/47.61  cut (((op (op (e4) (e5)) (e3)) = (op (op (e4) (e5)) (e3))) = ((op (e0) (e3)) = (op (op (e4) (e5)) (e3)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9cc.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9cd.
% 47.44/47.61  cut (((op (op (e4) (e5)) (e3)) = (op (op (e4) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H9ce].
% 47.44/47.61  cut (((op (op (e4) (e5)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H9cf].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hd0 zenon_Hc9).
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply zenon_H9ce. apply refl_equal.
% 47.44/47.61  apply zenon_H9ce. apply refl_equal.
% 47.44/47.61  elim (classic ((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3))))); [ zenon_intro zenon_H9d0 | zenon_intro zenon_H9d1 ].
% 47.44/47.61  cut (((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3)))) = ((e3) = (op (e4) (op (e5) (e3))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9cb.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9d0.
% 47.44/47.61  cut (((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H9d1].
% 47.44/47.61  cut (((op (e4) (op (e5) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H9d2].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e4) (e4)) = (e3)) = ((op (e4) (op (e5) (e3))) = (e3))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9d2.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hc1.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((op (e4) (e4)) = (op (e4) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H9d3].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3))))); [ zenon_intro zenon_H9d0 | zenon_intro zenon_H9d1 ].
% 47.44/47.61  cut (((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3)))) = ((op (e4) (e4)) = (op (e4) (op (e5) (e3))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9d3.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9d0.
% 47.44/47.61  cut (((op (e4) (op (e5) (e3))) = (op (e4) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H9d1].
% 47.44/47.61  cut (((op (e4) (op (e5) (e3))) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9d4].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  exact (zenon_Hf0 zenon_He9).
% 47.44/47.61  apply zenon_H9d1. apply refl_equal.
% 47.44/47.61  apply zenon_H9d1. apply refl_equal.
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply zenon_H9d1. apply refl_equal.
% 47.44/47.61  apply zenon_H9d1. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H9c9); [ zenon_intro zenon_H9d6 | zenon_intro zenon_H9d5 ].
% 47.44/47.61  cut (((op (e0) (e4)) = (e4)) = ((op (op (e4) (e5)) (e4)) = (op (e4) (op (e5) (e4))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9d6.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H1b.
% 47.44/47.61  cut (((e4) = (op (e4) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H9d7].
% 47.44/47.61  cut (((op (e0) (e4)) = (op (op (e4) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9d8].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e5)) (e4)) = (op (op (e4) (e5)) (e4)))); [ zenon_intro zenon_H9d9 | zenon_intro zenon_H9da ].
% 47.44/47.61  cut (((op (op (e4) (e5)) (e4)) = (op (op (e4) (e5)) (e4))) = ((op (e0) (e4)) = (op (op (e4) (e5)) (e4)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9d8.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9d9.
% 47.44/47.61  cut (((op (op (e4) (e5)) (e4)) = (op (op (e4) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9da].
% 47.44/47.61  cut (((op (op (e4) (e5)) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H9db].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hd0 zenon_Hc9).
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply zenon_H9da. apply refl_equal.
% 47.44/47.61  apply zenon_H9da. apply refl_equal.
% 47.44/47.61  elim (classic ((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4))))); [ zenon_intro zenon_H9dc | zenon_intro zenon_H9dd ].
% 47.44/47.61  cut (((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4)))) = ((e4) = (op (e4) (op (e5) (e4))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9d7.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9dc.
% 47.44/47.61  cut (((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H9dd].
% 47.44/47.61  cut (((op (e4) (op (e5) (e4))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H9de].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e4) (e0)) = (e4)) = ((op (e4) (op (e5) (e4))) = (e4))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9de.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha1.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((op (e4) (e0)) = (op (e4) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H9df].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4))))); [ zenon_intro zenon_H9dc | zenon_intro zenon_H9dd ].
% 47.44/47.61  cut (((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4)))) = ((op (e4) (e0)) = (op (e4) (op (e5) (e4))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9df.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9dc.
% 47.44/47.61  cut (((op (e4) (op (e5) (e4))) = (op (e4) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H9dd].
% 47.44/47.61  cut (((op (e4) (op (e5) (e4))) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9e0].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8].
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  exact (zenon_Hf8 zenon_Hf1).
% 47.44/47.61  apply zenon_H9dd. apply refl_equal.
% 47.44/47.61  apply zenon_H9dd. apply refl_equal.
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply zenon_H9dd. apply refl_equal.
% 47.44/47.61  apply zenon_H9dd. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H9d5); [ zenon_intro zenon_H9e2 | zenon_intro zenon_H9e1 ].
% 47.44/47.61  cut (((op (e0) (e5)) = (e5)) = ((op (op (e4) (e5)) (e5)) = (op (e4) (op (e5) (e5))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9e2.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H26.
% 47.44/47.61  cut (((e5) = (op (e4) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9e3].
% 47.44/47.61  cut (((op (e0) (e5)) = (op (op (e4) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9e4].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e4) (e5)) (e5)) = (op (op (e4) (e5)) (e5)))); [ zenon_intro zenon_H9e5 | zenon_intro zenon_H9e6 ].
% 47.44/47.61  cut (((op (op (e4) (e5)) (e5)) = (op (op (e4) (e5)) (e5))) = ((op (e0) (e5)) = (op (op (e4) (e5)) (e5)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9e4.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9e5.
% 47.44/47.61  cut (((op (op (e4) (e5)) (e5)) = (op (op (e4) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9e6].
% 47.44/47.61  cut (((op (op (e4) (e5)) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H9e7].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hd0 zenon_Hc9).
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply zenon_H9e6. apply refl_equal.
% 47.44/47.61  apply zenon_H9e6. apply refl_equal.
% 47.44/47.61  elim (classic ((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5))))); [ zenon_intro zenon_H9e8 | zenon_intro zenon_H9e9 ].
% 47.44/47.61  cut (((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5)))) = ((e5) = (op (e4) (op (e5) (e5))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9e3.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9e8.
% 47.44/47.61  cut (((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9e9].
% 47.44/47.61  cut (((op (e4) (op (e5) (e5))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H9ea].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e4) (e2)) = (e5)) = ((op (e4) (op (e5) (e5))) = (e5))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9ea.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb1.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((op (e4) (e2)) = (op (e4) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9eb].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5))))); [ zenon_intro zenon_H9e8 | zenon_intro zenon_H9e9 ].
% 47.44/47.61  cut (((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5)))) = ((op (e4) (e2)) = (op (e4) (op (e5) (e5))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9eb.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9e8.
% 47.44/47.61  cut (((op (e4) (op (e5) (e5))) = (op (e4) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H9e9].
% 47.44/47.61  cut (((op (e4) (op (e5) (e5))) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H9ec].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  exact (zenon_H100 zenon_Hf9).
% 47.44/47.61  apply zenon_H9e9. apply refl_equal.
% 47.44/47.61  apply zenon_H9e9. apply refl_equal.
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply zenon_H9e9. apply refl_equal.
% 47.44/47.61  apply zenon_H9e9. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H9e1); [ zenon_intro zenon_H9ee | zenon_intro zenon_H9ed ].
% 47.44/47.61  cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H59e].
% 47.44/47.61  cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hd8 zenon_Hd1).
% 47.44/47.61  apply zenon_H59e. apply sym_equal. exact zenon_H10.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H9ed); [ zenon_intro zenon_H9f0 | zenon_intro zenon_H9ef ].
% 47.44/47.61  cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H416].
% 47.44/47.61  cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hd8 zenon_Hd1).
% 47.44/47.61  apply zenon_H416. apply sym_equal. exact zenon_H7.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H9ef); [ zenon_intro zenon_H9f2 | zenon_intro zenon_H9f1 ].
% 47.44/47.61  cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H42c].
% 47.44/47.61  cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hd8 zenon_Hd1).
% 47.44/47.61  apply zenon_H42c. apply sym_equal. exact zenon_H2f.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H9f1); [ zenon_intro zenon_H9f4 | zenon_intro zenon_H9f3 ].
% 47.44/47.61  cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H442].
% 47.44/47.61  cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hd8 zenon_Hd1).
% 47.44/47.61  apply zenon_H442. apply sym_equal. exact zenon_H38.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H9f3); [ zenon_intro zenon_H9f6 | zenon_intro zenon_H9f5 ].
% 47.44/47.61  cut (((e4) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H458].
% 47.44/47.61  cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hd8 zenon_Hd1).
% 47.44/47.61  apply zenon_H458. apply sym_equal. exact zenon_H1b.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H9f5); [ zenon_intro zenon_H9f8 | zenon_intro zenon_H9f7 ].
% 47.44/47.61  cut (((e5) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_H46e].
% 47.44/47.61  cut (((op (e5) (e0)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hd8 zenon_Hd1).
% 47.44/47.61  apply zenon_H46e. apply sym_equal. exact zenon_H26.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H9f7); [ zenon_intro zenon_H9fa | zenon_intro zenon_H9f9 ].
% 47.44/47.61  cut (((op (e3) (e0)) = (e3)) = ((op (op (e5) (e1)) (e0)) = (op (e5) (op (e1) (e0))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9fa.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H71.
% 47.44/47.61  cut (((e3) = (op (e5) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H341].
% 47.44/47.61  cut (((op (e3) (e0)) = (op (op (e5) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9fb].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e1)) (e0)) = (op (op (e5) (e1)) (e0)))); [ zenon_intro zenon_H9fc | zenon_intro zenon_H9fd ].
% 47.44/47.61  cut (((op (op (e5) (e1)) (e0)) = (op (op (e5) (e1)) (e0))) = ((op (e3) (e0)) = (op (op (e5) (e1)) (e0)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_H9fb.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H9fc.
% 47.44/47.61  cut (((op (op (e5) (e1)) (e0)) = (op (op (e5) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9fd].
% 47.44/47.61  cut (((op (op (e5) (e1)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9fe].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_He0 zenon_Hd9).
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply zenon_H9fd. apply refl_equal.
% 47.44/47.61  apply zenon_H9fd. apply refl_equal.
% 47.44/47.61  apply (zenon_L133_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H9f9); [ zenon_intro zenon_Ha00 | zenon_intro zenon_H9ff ].
% 47.44/47.61  cut (((op (e3) (e1)) = (e5)) = ((op (op (e5) (e1)) (e1)) = (op (e5) (op (e1) (e1))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha00.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H79.
% 47.44/47.61  cut (((e5) = (op (e5) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H347].
% 47.44/47.61  cut (((op (e3) (e1)) = (op (op (e5) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha01].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e1)) (e1)) = (op (op (e5) (e1)) (e1)))); [ zenon_intro zenon_Ha02 | zenon_intro zenon_Ha03 ].
% 47.44/47.61  cut (((op (op (e5) (e1)) (e1)) = (op (op (e5) (e1)) (e1))) = ((op (e3) (e1)) = (op (op (e5) (e1)) (e1)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha01.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha02.
% 47.44/47.61  cut (((op (op (e5) (e1)) (e1)) = (op (op (e5) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha03].
% 47.44/47.61  cut (((op (op (e5) (e1)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha04].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_He0 zenon_Hd9).
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply zenon_Ha03. apply refl_equal.
% 47.44/47.61  apply zenon_Ha03. apply refl_equal.
% 47.44/47.61  apply (zenon_L134_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_H9ff); [ zenon_intro zenon_Ha06 | zenon_intro zenon_Ha05 ].
% 47.44/47.61  cut (((op (e3) (e2)) = (e0)) = ((op (op (e5) (e1)) (e2)) = (op (e5) (op (e1) (e2))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha06.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H81.
% 47.44/47.61  cut (((e0) = (op (e5) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H34d].
% 47.44/47.61  cut (((op (e3) (e2)) = (op (op (e5) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha07].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e1)) (e2)) = (op (op (e5) (e1)) (e2)))); [ zenon_intro zenon_Ha08 | zenon_intro zenon_Ha09 ].
% 47.44/47.61  cut (((op (op (e5) (e1)) (e2)) = (op (op (e5) (e1)) (e2))) = ((op (e3) (e2)) = (op (op (e5) (e1)) (e2)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha07.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha08.
% 47.44/47.61  cut (((op (op (e5) (e1)) (e2)) = (op (op (e5) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha09].
% 47.44/47.61  cut (((op (op (e5) (e1)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha0a].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_He0 zenon_Hd9).
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply zenon_Ha09. apply refl_equal.
% 47.44/47.61  apply zenon_Ha09. apply refl_equal.
% 47.44/47.61  apply (zenon_L135_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha05); [ zenon_intro zenon_Ha0c | zenon_intro zenon_Ha0b ].
% 47.44/47.61  cut (((op (e3) (e3)) = (e2)) = ((op (op (e5) (e1)) (e3)) = (op (e5) (op (e1) (e3))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha0c.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H89.
% 47.44/47.61  cut (((e2) = (op (e5) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H353].
% 47.44/47.61  cut (((op (e3) (e3)) = (op (op (e5) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha0d].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e1)) (e3)) = (op (op (e5) (e1)) (e3)))); [ zenon_intro zenon_Ha0e | zenon_intro zenon_Ha0f ].
% 47.44/47.61  cut (((op (op (e5) (e1)) (e3)) = (op (op (e5) (e1)) (e3))) = ((op (e3) (e3)) = (op (op (e5) (e1)) (e3)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha0d.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha0e.
% 47.44/47.61  cut (((op (op (e5) (e1)) (e3)) = (op (op (e5) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha0f].
% 47.44/47.61  cut (((op (op (e5) (e1)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha10].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_He0 zenon_Hd9).
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply zenon_Ha0f. apply refl_equal.
% 47.44/47.61  apply zenon_Ha0f. apply refl_equal.
% 47.44/47.61  apply (zenon_L136_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha0b); [ zenon_intro zenon_Ha12 | zenon_intro zenon_Ha11 ].
% 47.44/47.61  cut (((op (e3) (e4)) = (e1)) = ((op (op (e5) (e1)) (e4)) = (op (e5) (op (e1) (e4))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha12.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H91.
% 47.44/47.61  cut (((e1) = (op (e5) (op (e1) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H359].
% 47.44/47.61  cut (((op (e3) (e4)) = (op (op (e5) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha13].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e1)) (e4)) = (op (op (e5) (e1)) (e4)))); [ zenon_intro zenon_Ha14 | zenon_intro zenon_Ha15 ].
% 47.44/47.61  cut (((op (op (e5) (e1)) (e4)) = (op (op (e5) (e1)) (e4))) = ((op (e3) (e4)) = (op (op (e5) (e1)) (e4)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha13.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha14.
% 47.44/47.61  cut (((op (op (e5) (e1)) (e4)) = (op (op (e5) (e1)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha15].
% 47.44/47.61  cut (((op (op (e5) (e1)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha16].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_He0 zenon_Hd9).
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply zenon_Ha15. apply refl_equal.
% 47.44/47.61  apply zenon_Ha15. apply refl_equal.
% 47.44/47.61  apply (zenon_L137_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha11); [ zenon_intro zenon_Ha18 | zenon_intro zenon_Ha17 ].
% 47.44/47.61  cut (((op (e3) (e5)) = (e4)) = ((op (op (e5) (e1)) (e5)) = (op (e5) (op (e1) (e5))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha18.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H99.
% 47.44/47.61  cut (((e4) = (op (e5) (op (e1) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H35f].
% 47.44/47.61  cut (((op (e3) (e5)) = (op (op (e5) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha19].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e1)) (e5)) = (op (op (e5) (e1)) (e5)))); [ zenon_intro zenon_Ha1a | zenon_intro zenon_Ha1b ].
% 47.44/47.61  cut (((op (op (e5) (e1)) (e5)) = (op (op (e5) (e1)) (e5))) = ((op (e3) (e5)) = (op (op (e5) (e1)) (e5)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha19.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha1a.
% 47.44/47.61  cut (((op (op (e5) (e1)) (e5)) = (op (op (e5) (e1)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha1b].
% 47.44/47.61  cut (((op (op (e5) (e1)) (e5)) = (op (e3) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha1c].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((op (e5) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_He0 zenon_Hd9).
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply zenon_Ha1b. apply refl_equal.
% 47.44/47.61  apply zenon_Ha1b. apply refl_equal.
% 47.44/47.61  apply (zenon_L138_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha17); [ zenon_intro zenon_Ha1e | zenon_intro zenon_Ha1d ].
% 47.44/47.61  cut (((op (e1) (e0)) = (e1)) = ((op (op (e5) (e2)) (e0)) = (op (e5) (op (e2) (e0))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha1e.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H8.
% 47.44/47.61  cut (((e1) = (op (e5) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H365].
% 47.44/47.61  cut (((op (e1) (e0)) = (op (op (e5) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha1f].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e2)) (e0)) = (op (op (e5) (e2)) (e0)))); [ zenon_intro zenon_Ha20 | zenon_intro zenon_Ha21 ].
% 47.44/47.61  cut (((op (op (e5) (e2)) (e0)) = (op (op (e5) (e2)) (e0))) = ((op (e1) (e0)) = (op (op (e5) (e2)) (e0)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha1f.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha20.
% 47.44/47.61  cut (((op (op (e5) (e2)) (e0)) = (op (op (e5) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha21].
% 47.44/47.61  cut (((op (op (e5) (e2)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha22].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_He8 zenon_He1).
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply zenon_Ha21. apply refl_equal.
% 47.44/47.61  apply zenon_Ha21. apply refl_equal.
% 47.44/47.61  apply (zenon_L139_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha1d); [ zenon_intro zenon_Ha24 | zenon_intro zenon_Ha23 ].
% 47.44/47.61  cut (((op (e1) (e1)) = (e0)) = ((op (op (e5) (e2)) (e1)) = (op (e5) (op (e2) (e1))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha24.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H11.
% 47.44/47.61  cut (((e0) = (op (e5) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H36b].
% 47.44/47.61  cut (((op (e1) (e1)) = (op (op (e5) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha25].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e2)) (e1)) = (op (op (e5) (e2)) (e1)))); [ zenon_intro zenon_Ha26 | zenon_intro zenon_Ha27 ].
% 47.44/47.61  cut (((op (op (e5) (e2)) (e1)) = (op (op (e5) (e2)) (e1))) = ((op (e1) (e1)) = (op (op (e5) (e2)) (e1)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha25.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha26.
% 47.44/47.61  cut (((op (op (e5) (e2)) (e1)) = (op (op (e5) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha27].
% 47.44/47.61  cut (((op (op (e5) (e2)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha28].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_He8 zenon_He1).
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply zenon_Ha27. apply refl_equal.
% 47.44/47.61  apply zenon_Ha27. apply refl_equal.
% 47.44/47.61  apply (zenon_L140_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha23); [ zenon_intro zenon_Ha2a | zenon_intro zenon_Ha29 ].
% 47.44/47.61  cut (((op (e1) (e2)) = (e4)) = ((op (op (e5) (e2)) (e2)) = (op (e5) (op (e2) (e2))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha2a.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H1c.
% 47.44/47.61  cut (((e4) = (op (e5) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H371].
% 47.44/47.61  cut (((op (e1) (e2)) = (op (op (e5) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha2b].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e2)) (e2)) = (op (op (e5) (e2)) (e2)))); [ zenon_intro zenon_Ha2c | zenon_intro zenon_Ha2d ].
% 47.44/47.61  cut (((op (op (e5) (e2)) (e2)) = (op (op (e5) (e2)) (e2))) = ((op (e1) (e2)) = (op (op (e5) (e2)) (e2)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha2b.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha2c.
% 47.44/47.61  cut (((op (op (e5) (e2)) (e2)) = (op (op (e5) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha2d].
% 47.44/47.61  cut (((op (op (e5) (e2)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha2e].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_He8 zenon_He1).
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply zenon_Ha2d. apply refl_equal.
% 47.44/47.61  apply zenon_Ha2d. apply refl_equal.
% 47.44/47.61  apply (zenon_L141_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha29); [ zenon_intro zenon_Ha30 | zenon_intro zenon_Ha2f ].
% 47.44/47.61  cut (((op (e1) (e3)) = (e5)) = ((op (op (e5) (e2)) (e3)) = (op (e5) (op (e2) (e3))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha30.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H27.
% 47.44/47.61  cut (((e5) = (op (e5) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H377].
% 47.44/47.61  cut (((op (e1) (e3)) = (op (op (e5) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha31].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e2)) (e3)) = (op (op (e5) (e2)) (e3)))); [ zenon_intro zenon_Ha32 | zenon_intro zenon_Ha33 ].
% 47.44/47.61  cut (((op (op (e5) (e2)) (e3)) = (op (op (e5) (e2)) (e3))) = ((op (e1) (e3)) = (op (op (e5) (e2)) (e3)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha31.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha32.
% 47.44/47.61  cut (((op (op (e5) (e2)) (e3)) = (op (op (e5) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha33].
% 47.44/47.61  cut (((op (op (e5) (e2)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha34].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_He8 zenon_He1).
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply zenon_Ha33. apply refl_equal.
% 47.44/47.61  apply zenon_Ha33. apply refl_equal.
% 47.44/47.61  apply (zenon_L142_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha2f); [ zenon_intro zenon_Ha36 | zenon_intro zenon_Ha35 ].
% 47.44/47.61  cut (((op (e1) (e4)) = (e2)) = ((op (op (e5) (e2)) (e4)) = (op (e5) (op (e2) (e4))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha36.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H30.
% 47.44/47.61  cut (((e2) = (op (e5) (op (e2) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H37d].
% 47.44/47.61  cut (((op (e1) (e4)) = (op (op (e5) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha37].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e2)) (e4)) = (op (op (e5) (e2)) (e4)))); [ zenon_intro zenon_Ha38 | zenon_intro zenon_Ha39 ].
% 47.44/47.61  cut (((op (op (e5) (e2)) (e4)) = (op (op (e5) (e2)) (e4))) = ((op (e1) (e4)) = (op (op (e5) (e2)) (e4)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha37.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha38.
% 47.44/47.61  cut (((op (op (e5) (e2)) (e4)) = (op (op (e5) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha39].
% 47.44/47.61  cut (((op (op (e5) (e2)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha3a].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_He8 zenon_He1).
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply zenon_Ha39. apply refl_equal.
% 47.44/47.61  apply zenon_Ha39. apply refl_equal.
% 47.44/47.61  apply (zenon_L143_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha35); [ zenon_intro zenon_Ha3c | zenon_intro zenon_Ha3b ].
% 47.44/47.61  cut (((op (e1) (e5)) = (e3)) = ((op (op (e5) (e2)) (e5)) = (op (e5) (op (e2) (e5))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha3c.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H39.
% 47.44/47.61  cut (((e3) = (op (e5) (op (e2) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H383].
% 47.44/47.61  cut (((op (e1) (e5)) = (op (op (e5) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha3d].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e2)) (e5)) = (op (op (e5) (e2)) (e5)))); [ zenon_intro zenon_Ha3e | zenon_intro zenon_Ha3f ].
% 47.44/47.61  cut (((op (op (e5) (e2)) (e5)) = (op (op (e5) (e2)) (e5))) = ((op (e1) (e5)) = (op (op (e5) (e2)) (e5)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha3d.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha3e.
% 47.44/47.61  cut (((op (op (e5) (e2)) (e5)) = (op (op (e5) (e2)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha3f].
% 47.44/47.61  cut (((op (op (e5) (e2)) (e5)) = (op (e1) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha40].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((op (e5) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_He8 zenon_He1).
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply zenon_Ha3f. apply refl_equal.
% 47.44/47.61  apply zenon_Ha3f. apply refl_equal.
% 47.44/47.61  apply (zenon_L144_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha3b); [ zenon_intro zenon_Ha42 | zenon_intro zenon_Ha41 ].
% 47.44/47.61  cut (((op (e4) (e0)) = (e4)) = ((op (op (e5) (e3)) (e0)) = (op (e5) (op (e3) (e0))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha42.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha1.
% 47.44/47.61  cut (((e4) = (op (e5) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H389].
% 47.44/47.61  cut (((op (e4) (e0)) = (op (op (e5) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha43].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e3)) (e0)) = (op (op (e5) (e3)) (e0)))); [ zenon_intro zenon_Ha44 | zenon_intro zenon_Ha45 ].
% 47.44/47.61  cut (((op (op (e5) (e3)) (e0)) = (op (op (e5) (e3)) (e0))) = ((op (e4) (e0)) = (op (op (e5) (e3)) (e0)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha43.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha44.
% 47.44/47.61  cut (((op (op (e5) (e3)) (e0)) = (op (op (e5) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha45].
% 47.44/47.61  cut (((op (op (e5) (e3)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha46].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hf0 zenon_He9).
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply zenon_Ha45. apply refl_equal.
% 47.44/47.61  apply zenon_Ha45. apply refl_equal.
% 47.44/47.61  apply (zenon_L145_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha41); [ zenon_intro zenon_Ha48 | zenon_intro zenon_Ha47 ].
% 47.44/47.61  cut (((op (e4) (e1)) = (e2)) = ((op (op (e5) (e3)) (e1)) = (op (e5) (op (e3) (e1))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha48.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha9.
% 47.44/47.61  cut (((e2) = (op (e5) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H38f].
% 47.44/47.61  cut (((op (e4) (e1)) = (op (op (e5) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha49].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e3)) (e1)) = (op (op (e5) (e3)) (e1)))); [ zenon_intro zenon_Ha4a | zenon_intro zenon_Ha4b ].
% 47.44/47.61  cut (((op (op (e5) (e3)) (e1)) = (op (op (e5) (e3)) (e1))) = ((op (e4) (e1)) = (op (op (e5) (e3)) (e1)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha49.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha4a.
% 47.44/47.61  cut (((op (op (e5) (e3)) (e1)) = (op (op (e5) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha4b].
% 47.44/47.61  cut (((op (op (e5) (e3)) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha4c].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hf0 zenon_He9).
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply zenon_Ha4b. apply refl_equal.
% 47.44/47.61  apply zenon_Ha4b. apply refl_equal.
% 47.44/47.61  apply (zenon_L146_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha47); [ zenon_intro zenon_Ha4e | zenon_intro zenon_Ha4d ].
% 47.44/47.61  cut (((op (e4) (e2)) = (e5)) = ((op (op (e5) (e3)) (e2)) = (op (e5) (op (e3) (e2))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha4e.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb1.
% 47.44/47.61  cut (((e5) = (op (e5) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H395].
% 47.44/47.61  cut (((op (e4) (e2)) = (op (op (e5) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha4f].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e3)) (e2)) = (op (op (e5) (e3)) (e2)))); [ zenon_intro zenon_Ha50 | zenon_intro zenon_Ha51 ].
% 47.44/47.61  cut (((op (op (e5) (e3)) (e2)) = (op (op (e5) (e3)) (e2))) = ((op (e4) (e2)) = (op (op (e5) (e3)) (e2)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha4f.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha50.
% 47.44/47.61  cut (((op (op (e5) (e3)) (e2)) = (op (op (e5) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha51].
% 47.44/47.61  cut (((op (op (e5) (e3)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha52].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hf0 zenon_He9).
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply zenon_Ha51. apply refl_equal.
% 47.44/47.61  apply zenon_Ha51. apply refl_equal.
% 47.44/47.61  apply (zenon_L147_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha4d); [ zenon_intro zenon_Ha54 | zenon_intro zenon_Ha53 ].
% 47.44/47.61  cut (((op (e4) (e3)) = (e1)) = ((op (op (e5) (e3)) (e3)) = (op (e5) (op (e3) (e3))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha54.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb9.
% 47.44/47.61  cut (((e1) = (op (e5) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H39b].
% 47.44/47.61  cut (((op (e4) (e3)) = (op (op (e5) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha55].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e3)) (e3)) = (op (op (e5) (e3)) (e3)))); [ zenon_intro zenon_Ha56 | zenon_intro zenon_Ha57 ].
% 47.44/47.61  cut (((op (op (e5) (e3)) (e3)) = (op (op (e5) (e3)) (e3))) = ((op (e4) (e3)) = (op (op (e5) (e3)) (e3)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha55.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha56.
% 47.44/47.61  cut (((op (op (e5) (e3)) (e3)) = (op (op (e5) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha57].
% 47.44/47.61  cut (((op (op (e5) (e3)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha58].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hf0 zenon_He9).
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply zenon_Ha57. apply refl_equal.
% 47.44/47.61  apply zenon_Ha57. apply refl_equal.
% 47.44/47.61  apply (zenon_L148_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha53); [ zenon_intro zenon_Ha5a | zenon_intro zenon_Ha59 ].
% 47.44/47.61  cut (((op (e4) (e4)) = (e3)) = ((op (op (e5) (e3)) (e4)) = (op (e5) (op (e3) (e4))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha5a.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hc1.
% 47.44/47.61  cut (((e3) = (op (e5) (op (e3) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3a1].
% 47.44/47.61  cut (((op (e4) (e4)) = (op (op (e5) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha5b].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e3)) (e4)) = (op (op (e5) (e3)) (e4)))); [ zenon_intro zenon_Ha5c | zenon_intro zenon_Ha5d ].
% 47.44/47.61  cut (((op (op (e5) (e3)) (e4)) = (op (op (e5) (e3)) (e4))) = ((op (e4) (e4)) = (op (op (e5) (e3)) (e4)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha5b.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha5c.
% 47.44/47.61  cut (((op (op (e5) (e3)) (e4)) = (op (op (e5) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha5d].
% 47.44/47.61  cut (((op (op (e5) (e3)) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha5e].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hf0 zenon_He9).
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply zenon_Ha5d. apply refl_equal.
% 47.44/47.61  apply zenon_Ha5d. apply refl_equal.
% 47.44/47.61  apply (zenon_L149_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha59); [ zenon_intro zenon_Ha60 | zenon_intro zenon_Ha5f ].
% 47.44/47.61  cut (((op (e4) (e5)) = (e0)) = ((op (op (e5) (e3)) (e5)) = (op (e5) (op (e3) (e5))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha60.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hc9.
% 47.44/47.61  cut (((e0) = (op (e5) (op (e3) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3a7].
% 47.44/47.61  cut (((op (e4) (e5)) = (op (op (e5) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha61].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e3)) (e5)) = (op (op (e5) (e3)) (e5)))); [ zenon_intro zenon_Ha62 | zenon_intro zenon_Ha63 ].
% 47.44/47.61  cut (((op (op (e5) (e3)) (e5)) = (op (op (e5) (e3)) (e5))) = ((op (e4) (e5)) = (op (op (e5) (e3)) (e5)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha61.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha62.
% 47.44/47.61  cut (((op (op (e5) (e3)) (e5)) = (op (op (e5) (e3)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha63].
% 47.44/47.61  cut (((op (op (e5) (e3)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha64].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((op (e5) (e3)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hf0 zenon_He9).
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply zenon_Ha63. apply refl_equal.
% 47.44/47.61  apply zenon_Ha63. apply refl_equal.
% 47.44/47.61  apply (zenon_L150_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha5f); [ zenon_intro zenon_Ha66 | zenon_intro zenon_Ha65 ].
% 47.44/47.61  cut (((op (e0) (e0)) = (e0)) = ((op (op (e5) (e4)) (e0)) = (op (e5) (op (e4) (e0))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha66.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H10.
% 47.44/47.61  cut (((e0) = (op (e5) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha67].
% 47.44/47.61  cut (((op (e0) (e0)) = (op (op (e5) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha68].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e4)) (e0)) = (op (op (e5) (e4)) (e0)))); [ zenon_intro zenon_Ha69 | zenon_intro zenon_Ha6a ].
% 47.44/47.61  cut (((op (op (e5) (e4)) (e0)) = (op (op (e5) (e4)) (e0))) = ((op (e0) (e0)) = (op (op (e5) (e4)) (e0)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha68.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha69.
% 47.44/47.61  cut (((op (op (e5) (e4)) (e0)) = (op (op (e5) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha6a].
% 47.44/47.61  cut (((op (op (e5) (e4)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha6b].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hf8 zenon_Hf1).
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply zenon_Ha6a. apply refl_equal.
% 47.44/47.61  apply zenon_Ha6a. apply refl_equal.
% 47.44/47.61  elim (classic ((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0))))); [ zenon_intro zenon_Ha6c | zenon_intro zenon_Ha6d ].
% 47.44/47.61  cut (((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0)))) = ((e0) = (op (e5) (op (e4) (e0))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha67.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha6c.
% 47.44/47.61  cut (((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha6d].
% 47.44/47.61  cut (((op (e5) (op (e4) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Ha6e].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e5) (e4)) = (e0)) = ((op (e5) (op (e4) (e0))) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha6e.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hf1.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e5) (e4)) = (op (e5) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha6f].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0))))); [ zenon_intro zenon_Ha6c | zenon_intro zenon_Ha6d ].
% 47.44/47.61  cut (((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0)))) = ((op (e5) (e4)) = (op (e5) (op (e4) (e0))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha6f.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha6c.
% 47.44/47.61  cut (((op (e5) (op (e4) (e0))) = (op (e5) (op (e4) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha6d].
% 47.44/47.61  cut (((op (e5) (op (e4) (e0))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha70].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e4) (e0)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  exact (zenon_Ha8 zenon_Ha1).
% 47.44/47.61  apply zenon_Ha6d. apply refl_equal.
% 47.44/47.61  apply zenon_Ha6d. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply zenon_Ha6d. apply refl_equal.
% 47.44/47.61  apply zenon_Ha6d. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha65); [ zenon_intro zenon_Ha72 | zenon_intro zenon_Ha71 ].
% 47.44/47.61  cut (((op (e0) (e1)) = (e1)) = ((op (op (e5) (e4)) (e1)) = (op (e5) (op (e4) (e1))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha72.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H7.
% 47.44/47.61  cut (((e1) = (op (e5) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha73].
% 47.44/47.61  cut (((op (e0) (e1)) = (op (op (e5) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha74].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e4)) (e1)) = (op (op (e5) (e4)) (e1)))); [ zenon_intro zenon_Ha75 | zenon_intro zenon_Ha76 ].
% 47.44/47.61  cut (((op (op (e5) (e4)) (e1)) = (op (op (e5) (e4)) (e1))) = ((op (e0) (e1)) = (op (op (e5) (e4)) (e1)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha74.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha75.
% 47.44/47.61  cut (((op (op (e5) (e4)) (e1)) = (op (op (e5) (e4)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha76].
% 47.44/47.61  cut (((op (op (e5) (e4)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha77].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hf8 zenon_Hf1).
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply zenon_Ha76. apply refl_equal.
% 47.44/47.61  apply zenon_Ha76. apply refl_equal.
% 47.44/47.61  elim (classic ((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1))))); [ zenon_intro zenon_Ha78 | zenon_intro zenon_Ha79 ].
% 47.44/47.61  cut (((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1)))) = ((e1) = (op (e5) (op (e4) (e1))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha73.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha78.
% 47.44/47.61  cut (((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha79].
% 47.44/47.61  cut (((op (e5) (op (e4) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Ha7a].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e5) (e2)) = (e1)) = ((op (e5) (op (e4) (e1))) = (e1))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha7a.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_He1.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((op (e5) (e2)) = (op (e5) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha7b].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1))))); [ zenon_intro zenon_Ha78 | zenon_intro zenon_Ha79 ].
% 47.44/47.61  cut (((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1)))) = ((op (e5) (e2)) = (op (e5) (op (e4) (e1))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha7b.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha78.
% 47.44/47.61  cut (((op (e5) (op (e4) (e1))) = (op (e5) (op (e4) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha79].
% 47.44/47.61  cut (((op (e5) (op (e4) (e1))) = (op (e5) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha7c].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e4) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  exact (zenon_Hb0 zenon_Ha9).
% 47.44/47.61  apply zenon_Ha79. apply refl_equal.
% 47.44/47.61  apply zenon_Ha79. apply refl_equal.
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply zenon_Ha79. apply refl_equal.
% 47.44/47.61  apply zenon_Ha79. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha71); [ zenon_intro zenon_Ha7e | zenon_intro zenon_Ha7d ].
% 47.44/47.61  cut (((op (e0) (e2)) = (e2)) = ((op (op (e5) (e4)) (e2)) = (op (e5) (op (e4) (e2))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha7e.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H2f.
% 47.44/47.61  cut (((e2) = (op (e5) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Ha7f].
% 47.44/47.61  cut (((op (e0) (e2)) = (op (op (e5) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha80].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e4)) (e2)) = (op (op (e5) (e4)) (e2)))); [ zenon_intro zenon_Ha81 | zenon_intro zenon_Ha82 ].
% 47.44/47.61  cut (((op (op (e5) (e4)) (e2)) = (op (op (e5) (e4)) (e2))) = ((op (e0) (e2)) = (op (op (e5) (e4)) (e2)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha80.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha81.
% 47.44/47.61  cut (((op (op (e5) (e4)) (e2)) = (op (op (e5) (e4)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha82].
% 47.44/47.61  cut (((op (op (e5) (e4)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha83].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hf8 zenon_Hf1).
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply zenon_Ha82. apply refl_equal.
% 47.44/47.61  apply zenon_Ha82. apply refl_equal.
% 47.44/47.61  elim (classic ((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2))))); [ zenon_intro zenon_Ha84 | zenon_intro zenon_Ha85 ].
% 47.44/47.61  cut (((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2)))) = ((e2) = (op (e5) (op (e4) (e2))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha7f.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha84.
% 47.44/47.61  cut (((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Ha85].
% 47.44/47.61  cut (((op (e5) (op (e4) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha86].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e5) (e5)) = (e2)) = ((op (e5) (op (e4) (e2))) = (e2))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha86.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hf9.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((op (e5) (e5)) = (op (e5) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Ha87].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2))))); [ zenon_intro zenon_Ha84 | zenon_intro zenon_Ha85 ].
% 47.44/47.61  cut (((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2)))) = ((op (e5) (e5)) = (op (e5) (op (e4) (e2))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha87.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha84.
% 47.44/47.61  cut (((op (e5) (op (e4) (e2))) = (op (e5) (op (e4) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Ha85].
% 47.44/47.61  cut (((op (e5) (op (e4) (e2))) = (op (e5) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Ha88].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e4) (e2)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  exact (zenon_Hb8 zenon_Hb1).
% 47.44/47.61  apply zenon_Ha85. apply refl_equal.
% 47.44/47.61  apply zenon_Ha85. apply refl_equal.
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply zenon_Ha85. apply refl_equal.
% 47.44/47.61  apply zenon_Ha85. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha7d); [ zenon_intro zenon_Ha8a | zenon_intro zenon_Ha89 ].
% 47.44/47.61  cut (((op (e0) (e3)) = (e3)) = ((op (op (e5) (e4)) (e3)) = (op (e5) (op (e4) (e3))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha8a.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H38.
% 47.44/47.61  cut (((e3) = (op (e5) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Ha8b].
% 47.44/47.61  cut (((op (e0) (e3)) = (op (op (e5) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha8c].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e4)) (e3)) = (op (op (e5) (e4)) (e3)))); [ zenon_intro zenon_Ha8d | zenon_intro zenon_Ha8e ].
% 47.44/47.61  cut (((op (op (e5) (e4)) (e3)) = (op (op (e5) (e4)) (e3))) = ((op (e0) (e3)) = (op (op (e5) (e4)) (e3)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha8c.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha8d.
% 47.44/47.61  cut (((op (op (e5) (e4)) (e3)) = (op (op (e5) (e4)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha8e].
% 47.44/47.61  cut (((op (op (e5) (e4)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Ha8f].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hf8 zenon_Hf1).
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply zenon_Ha8e. apply refl_equal.
% 47.44/47.61  apply zenon_Ha8e. apply refl_equal.
% 47.44/47.61  elim (classic ((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3))))); [ zenon_intro zenon_Ha90 | zenon_intro zenon_Ha91 ].
% 47.44/47.61  cut (((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3)))) = ((e3) = (op (e5) (op (e4) (e3))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha8b.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha90.
% 47.44/47.61  cut (((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Ha91].
% 47.44/47.61  cut (((op (e5) (op (e4) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Ha92].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e5) (e1)) = (e3)) = ((op (e5) (op (e4) (e3))) = (e3))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha92.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hd9.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((op (e5) (e1)) = (op (e5) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Ha93].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3))))); [ zenon_intro zenon_Ha90 | zenon_intro zenon_Ha91 ].
% 47.44/47.61  cut (((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3)))) = ((op (e5) (e1)) = (op (e5) (op (e4) (e3))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha93.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha90.
% 47.44/47.61  cut (((op (e5) (op (e4) (e3))) = (op (e5) (op (e4) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Ha91].
% 47.44/47.61  cut (((op (e5) (op (e4) (e3))) = (op (e5) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha94].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  exact (zenon_Hc0 zenon_Hb9).
% 47.44/47.61  apply zenon_Ha91. apply refl_equal.
% 47.44/47.61  apply zenon_Ha91. apply refl_equal.
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply zenon_Ha91. apply refl_equal.
% 47.44/47.61  apply zenon_Ha91. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha89); [ zenon_intro zenon_Ha96 | zenon_intro zenon_Ha95 ].
% 47.44/47.61  cut (((op (e0) (e4)) = (e4)) = ((op (op (e5) (e4)) (e4)) = (op (e5) (op (e4) (e4))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha96.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H1b.
% 47.44/47.61  cut (((e4) = (op (e5) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Ha97].
% 47.44/47.61  cut (((op (e0) (e4)) = (op (op (e5) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha98].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e4)) (e4)) = (op (op (e5) (e4)) (e4)))); [ zenon_intro zenon_Ha99 | zenon_intro zenon_Ha9a ].
% 47.44/47.61  cut (((op (op (e5) (e4)) (e4)) = (op (op (e5) (e4)) (e4))) = ((op (e0) (e4)) = (op (op (e5) (e4)) (e4)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha98.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha99.
% 47.44/47.61  cut (((op (op (e5) (e4)) (e4)) = (op (op (e5) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha9a].
% 47.44/47.61  cut (((op (op (e5) (e4)) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha9b].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hf8 zenon_Hf1).
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply zenon_Ha9a. apply refl_equal.
% 47.44/47.61  apply zenon_Ha9a. apply refl_equal.
% 47.44/47.61  elim (classic ((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4))))); [ zenon_intro zenon_Ha9c | zenon_intro zenon_Ha9d ].
% 47.44/47.61  cut (((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4)))) = ((e4) = (op (e5) (op (e4) (e4))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha97.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha9c.
% 47.44/47.61  cut (((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Ha9d].
% 47.44/47.61  cut (((op (e5) (op (e4) (e4))) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Ha9e].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e5) (e3)) = (e4)) = ((op (e5) (op (e4) (e4))) = (e4))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha9e.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_He9.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((op (e5) (e3)) = (op (e5) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Ha9f].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4))))); [ zenon_intro zenon_Ha9c | zenon_intro zenon_Ha9d ].
% 47.44/47.61  cut (((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4)))) = ((op (e5) (e3)) = (op (e5) (op (e4) (e4))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Ha9f.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha9c.
% 47.44/47.61  cut (((op (e5) (op (e4) (e4))) = (op (e5) (op (e4) (e4))))); [idtac | apply NNPP; zenon_intro zenon_Ha9d].
% 47.44/47.61  cut (((op (e5) (op (e4) (e4))) = (op (e5) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Haa0].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e4) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hc8].
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  exact (zenon_Hc8 zenon_Hc1).
% 47.44/47.61  apply zenon_Ha9d. apply refl_equal.
% 47.44/47.61  apply zenon_Ha9d. apply refl_equal.
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply zenon_Ha9d. apply refl_equal.
% 47.44/47.61  apply zenon_Ha9d. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Ha95); [ zenon_intro zenon_Haa2 | zenon_intro zenon_Haa1 ].
% 47.44/47.61  cut (((op (e0) (e5)) = (e5)) = ((op (op (e5) (e4)) (e5)) = (op (e5) (op (e4) (e5))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Haa2.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H26.
% 47.44/47.61  cut (((e5) = (op (e5) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Haa3].
% 47.44/47.61  cut (((op (e0) (e5)) = (op (op (e5) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Haa4].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e4)) (e5)) = (op (op (e5) (e4)) (e5)))); [ zenon_intro zenon_Haa5 | zenon_intro zenon_Haa6 ].
% 47.44/47.61  cut (((op (op (e5) (e4)) (e5)) = (op (op (e5) (e4)) (e5))) = ((op (e0) (e5)) = (op (op (e5) (e4)) (e5)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Haa4.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Haa5.
% 47.44/47.61  cut (((op (op (e5) (e4)) (e5)) = (op (op (e5) (e4)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Haa6].
% 47.44/47.61  cut (((op (op (e5) (e4)) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Haa7].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((op (e5) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf8].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hf8 zenon_Hf1).
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply zenon_Haa6. apply refl_equal.
% 47.44/47.61  apply zenon_Haa6. apply refl_equal.
% 47.44/47.61  elim (classic ((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5))))); [ zenon_intro zenon_Haa8 | zenon_intro zenon_Haa9 ].
% 47.44/47.61  cut (((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5)))) = ((e5) = (op (e5) (op (e4) (e5))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Haa3.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Haa8.
% 47.44/47.61  cut (((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Haa9].
% 47.44/47.61  cut (((op (e5) (op (e4) (e5))) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Haaa].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e5) (e0)) = (e5)) = ((op (e5) (op (e4) (e5))) = (e5))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Haaa.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hd1.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((op (e5) (e0)) = (op (e5) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Haab].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5))))); [ zenon_intro zenon_Haa8 | zenon_intro zenon_Haa9 ].
% 47.44/47.61  cut (((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5)))) = ((op (e5) (e0)) = (op (e5) (op (e4) (e5))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Haab.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Haa8.
% 47.44/47.61  cut (((op (e5) (op (e4) (e5))) = (op (e5) (op (e4) (e5))))); [idtac | apply NNPP; zenon_intro zenon_Haa9].
% 47.44/47.61  cut (((op (e5) (op (e4) (e5))) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Haac].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((op (e4) (e5)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  exact (zenon_Hd0 zenon_Hc9).
% 47.44/47.61  apply zenon_Haa9. apply refl_equal.
% 47.44/47.61  apply zenon_Haa9. apply refl_equal.
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply zenon_Haa9. apply refl_equal.
% 47.44/47.61  apply zenon_Haa9. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Haa1); [ zenon_intro zenon_Haae | zenon_intro zenon_Haad ].
% 47.44/47.61  cut (((op (e2) (e0)) = (e2)) = ((op (op (e5) (e5)) (e0)) = (op (e5) (op (e5) (e0))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Haae.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H41.
% 47.44/47.61  cut (((e2) = (op (e5) (op (e5) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H3ad].
% 47.44/47.61  cut (((op (e2) (e0)) = (op (op (e5) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Haaf].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e5)) (e0)) = (op (op (e5) (e5)) (e0)))); [ zenon_intro zenon_Hab0 | zenon_intro zenon_Hab1 ].
% 47.44/47.61  cut (((op (op (e5) (e5)) (e0)) = (op (op (e5) (e5)) (e0))) = ((op (e2) (e0)) = (op (op (e5) (e5)) (e0)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Haaf.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hab0.
% 47.44/47.61  cut (((op (op (e5) (e5)) (e0)) = (op (op (e5) (e5)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hab1].
% 47.44/47.61  cut (((op (op (e5) (e5)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hab2].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_H100 zenon_Hf9).
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply zenon_Hab1. apply refl_equal.
% 47.44/47.61  apply zenon_Hab1. apply refl_equal.
% 47.44/47.61  apply (zenon_L151_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Haad); [ zenon_intro zenon_Hab4 | zenon_intro zenon_Hab3 ].
% 47.44/47.61  cut (((op (e2) (e1)) = (e4)) = ((op (op (e5) (e5)) (e1)) = (op (e5) (op (e5) (e1))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hab4.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H49.
% 47.44/47.61  cut (((e4) = (op (e5) (op (e5) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H3b3].
% 47.44/47.61  cut (((op (e2) (e1)) = (op (op (e5) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hab5].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e5)) (e1)) = (op (op (e5) (e5)) (e1)))); [ zenon_intro zenon_Hab6 | zenon_intro zenon_Hab7 ].
% 47.44/47.61  cut (((op (op (e5) (e5)) (e1)) = (op (op (e5) (e5)) (e1))) = ((op (e2) (e1)) = (op (op (e5) (e5)) (e1)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hab5.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hab6.
% 47.44/47.61  cut (((op (op (e5) (e5)) (e1)) = (op (op (e5) (e5)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hab7].
% 47.44/47.61  cut (((op (op (e5) (e5)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hab8].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_H100 zenon_Hf9).
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply zenon_Hab7. apply refl_equal.
% 47.44/47.61  apply zenon_Hab7. apply refl_equal.
% 47.44/47.61  apply (zenon_L152_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hab3); [ zenon_intro zenon_Haba | zenon_intro zenon_Hab9 ].
% 47.44/47.61  cut (((op (e2) (e2)) = (e3)) = ((op (op (e5) (e5)) (e2)) = (op (e5) (op (e5) (e2))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Haba.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H51.
% 47.44/47.61  cut (((e3) = (op (e5) (op (e5) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H3b9].
% 47.44/47.61  cut (((op (e2) (e2)) = (op (op (e5) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Habb].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e5)) (e2)) = (op (op (e5) (e5)) (e2)))); [ zenon_intro zenon_Habc | zenon_intro zenon_Habd ].
% 47.44/47.61  cut (((op (op (e5) (e5)) (e2)) = (op (op (e5) (e5)) (e2))) = ((op (e2) (e2)) = (op (op (e5) (e5)) (e2)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Habb.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Habc.
% 47.44/47.61  cut (((op (op (e5) (e5)) (e2)) = (op (op (e5) (e5)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Habd].
% 47.44/47.61  cut (((op (op (e5) (e5)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Habe].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_H100 zenon_Hf9).
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply zenon_Habd. apply refl_equal.
% 47.44/47.61  apply zenon_Habd. apply refl_equal.
% 47.44/47.61  apply (zenon_L153_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hab9); [ zenon_intro zenon_Hac0 | zenon_intro zenon_Habf ].
% 47.44/47.61  cut (((op (e2) (e3)) = (e0)) = ((op (op (e5) (e5)) (e3)) = (op (e5) (op (e5) (e3))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hac0.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H59.
% 47.44/47.61  cut (((e0) = (op (e5) (op (e5) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H3bf].
% 47.44/47.61  cut (((op (e2) (e3)) = (op (op (e5) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hac1].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e5)) (e3)) = (op (op (e5) (e5)) (e3)))); [ zenon_intro zenon_Hac2 | zenon_intro zenon_Hac3 ].
% 47.44/47.61  cut (((op (op (e5) (e5)) (e3)) = (op (op (e5) (e5)) (e3))) = ((op (e2) (e3)) = (op (op (e5) (e5)) (e3)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hac1.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hac2.
% 47.44/47.61  cut (((op (op (e5) (e5)) (e3)) = (op (op (e5) (e5)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hac3].
% 47.44/47.61  cut (((op (op (e5) (e5)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hac4].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_H100 zenon_Hf9).
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply zenon_Hac3. apply refl_equal.
% 47.44/47.61  apply zenon_Hac3. apply refl_equal.
% 47.44/47.61  apply (zenon_L154_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Habf); [ zenon_intro zenon_Hac6 | zenon_intro zenon_Hac5 ].
% 47.44/47.61  cut (((op (e2) (e4)) = (e5)) = ((op (op (e5) (e5)) (e4)) = (op (e5) (op (e5) (e4))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hac6.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H61.
% 47.44/47.61  cut (((e5) = (op (e5) (op (e5) (e4))))); [idtac | apply NNPP; zenon_intro zenon_H3c5].
% 47.44/47.61  cut (((op (e2) (e4)) = (op (op (e5) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hac7].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e5)) (e4)) = (op (op (e5) (e5)) (e4)))); [ zenon_intro zenon_Hac8 | zenon_intro zenon_Hac9 ].
% 47.44/47.61  cut (((op (op (e5) (e5)) (e4)) = (op (op (e5) (e5)) (e4))) = ((op (e2) (e4)) = (op (op (e5) (e5)) (e4)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hac7.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hac8.
% 47.44/47.61  cut (((op (op (e5) (e5)) (e4)) = (op (op (e5) (e5)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hac9].
% 47.44/47.61  cut (((op (op (e5) (e5)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Haca].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_H100 zenon_Hf9).
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply zenon_Hac9. apply refl_equal.
% 47.44/47.61  apply zenon_Hac9. apply refl_equal.
% 47.44/47.61  apply (zenon_L155_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hac5); [ zenon_intro zenon_Hacc | zenon_intro zenon_Hacb ].
% 47.44/47.61  cut (((op (e2) (e5)) = (e1)) = ((op (op (e5) (e5)) (e5)) = (op (e5) (op (e5) (e5))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hacc.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H69.
% 47.44/47.61  cut (((e1) = (op (e5) (op (e5) (e5))))); [idtac | apply NNPP; zenon_intro zenon_H3cb].
% 47.44/47.61  cut (((op (e2) (e5)) = (op (op (e5) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hacd].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (op (e5) (e5)) (e5)) = (op (op (e5) (e5)) (e5)))); [ zenon_intro zenon_Hace | zenon_intro zenon_Hacf ].
% 47.44/47.61  cut (((op (op (e5) (e5)) (e5)) = (op (op (e5) (e5)) (e5))) = ((op (e2) (e5)) = (op (op (e5) (e5)) (e5)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hacd.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hace.
% 47.44/47.61  cut (((op (op (e5) (e5)) (e5)) = (op (op (e5) (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hacf].
% 47.44/47.61  cut (((op (op (e5) (e5)) (e5)) = (op (e2) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Had0].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((op (e5) (e5)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_H100 zenon_Hf9).
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply zenon_Hacf. apply refl_equal.
% 47.44/47.61  apply zenon_Hacf. apply refl_equal.
% 47.44/47.61  apply (zenon_L156_); trivial.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hacb); [ zenon_intro zenon_Had2 | zenon_intro zenon_Had1 ].
% 47.44/47.61  cut (((op (e0) (e0)) = (e0)) = ((op (unit) (e0)) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Had2.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H10.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e0) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Had3].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (unit) (e0)) = (op (unit) (e0)))); [ zenon_intro zenon_Had4 | zenon_intro zenon_Had5 ].
% 47.44/47.61  cut (((op (unit) (e0)) = (op (unit) (e0))) = ((op (e0) (e0)) = (op (unit) (e0)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Had3.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Had4.
% 47.44/47.61  cut (((op (unit) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Had5].
% 47.44/47.61  cut (((op (unit) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Had6].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_H3d1 ax3).
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply zenon_Had5. apply refl_equal.
% 47.44/47.61  apply zenon_Had5. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Had1); [ zenon_intro zenon_Had8 | zenon_intro zenon_Had7 ].
% 47.44/47.61  cut (((op (e0) (e0)) = (e0)) = ((op (e0) (unit)) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Had8.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H10.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e0) (e0)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Had9].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e0) (unit)) = (op (e0) (unit)))); [ zenon_intro zenon_Hada | zenon_intro zenon_Hadb ].
% 47.44/47.61  cut (((op (e0) (unit)) = (op (e0) (unit))) = ((op (e0) (e0)) = (op (e0) (unit)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Had9.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hada.
% 47.44/47.61  cut (((op (e0) (unit)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hadb].
% 47.44/47.61  cut (((op (e0) (unit)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hadc].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1].
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  exact (zenon_H3d1 ax3).
% 47.44/47.61  apply zenon_Hadb. apply refl_equal.
% 47.44/47.61  apply zenon_Hadb. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Had7); [ zenon_intro zenon_Hade | zenon_intro zenon_Hadd ].
% 47.44/47.61  cut (((op (e0) (e1)) = (e1)) = ((op (unit) (e1)) = (e1))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hade.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H7.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((op (e0) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hadf].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (unit) (e1)) = (op (unit) (e1)))); [ zenon_intro zenon_Hae0 | zenon_intro zenon_Hae1 ].
% 47.44/47.61  cut (((op (unit) (e1)) = (op (unit) (e1))) = ((op (e0) (e1)) = (op (unit) (e1)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hadf.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hae0.
% 47.44/47.61  cut (((op (unit) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hae1].
% 47.44/47.61  cut (((op (unit) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hae2].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_H3d1 ax3).
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply zenon_Hae1. apply refl_equal.
% 47.44/47.61  apply zenon_Hae1. apply refl_equal.
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hadd); [ zenon_intro zenon_Hae4 | zenon_intro zenon_Hae3 ].
% 47.44/47.61  cut (((op (e1) (e0)) = (e1)) = ((op (e1) (unit)) = (e1))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hae4.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H8.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((op (e1) (e0)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hae5].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e1) (unit)) = (op (e1) (unit)))); [ zenon_intro zenon_Hae6 | zenon_intro zenon_Hae7 ].
% 47.44/47.61  cut (((op (e1) (unit)) = (op (e1) (unit))) = ((op (e1) (e0)) = (op (e1) (unit)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hae5.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hae6.
% 47.44/47.61  cut (((op (e1) (unit)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hae7].
% 47.44/47.61  cut (((op (e1) (unit)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hae8].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1].
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  exact (zenon_H3d1 ax3).
% 47.44/47.61  apply zenon_Hae7. apply refl_equal.
% 47.44/47.61  apply zenon_Hae7. apply refl_equal.
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hae3); [ zenon_intro zenon_Haea | zenon_intro zenon_Hae9 ].
% 47.44/47.61  cut (((op (e0) (e2)) = (e2)) = ((op (unit) (e2)) = (e2))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Haea.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H2f.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((op (e0) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Haeb].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (unit) (e2)) = (op (unit) (e2)))); [ zenon_intro zenon_Haec | zenon_intro zenon_Haed ].
% 47.44/47.61  cut (((op (unit) (e2)) = (op (unit) (e2))) = ((op (e0) (e2)) = (op (unit) (e2)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Haeb.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Haec.
% 47.44/47.61  cut (((op (unit) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Haed].
% 47.44/47.61  cut (((op (unit) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Haee].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_H3d1 ax3).
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply zenon_Haed. apply refl_equal.
% 47.44/47.61  apply zenon_Haed. apply refl_equal.
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hae9); [ zenon_intro zenon_Haf0 | zenon_intro zenon_Haef ].
% 47.44/47.61  cut (((op (e2) (e0)) = (e2)) = ((op (e2) (unit)) = (e2))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Haf0.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H41.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((op (e2) (e0)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Haf1].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e2) (unit)) = (op (e2) (unit)))); [ zenon_intro zenon_Haf2 | zenon_intro zenon_Haf3 ].
% 47.44/47.61  cut (((op (e2) (unit)) = (op (e2) (unit))) = ((op (e2) (e0)) = (op (e2) (unit)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Haf1.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Haf2.
% 47.44/47.61  cut (((op (e2) (unit)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Haf3].
% 47.44/47.61  cut (((op (e2) (unit)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Haf4].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1].
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  exact (zenon_H3d1 ax3).
% 47.44/47.61  apply zenon_Haf3. apply refl_equal.
% 47.44/47.61  apply zenon_Haf3. apply refl_equal.
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Haef); [ zenon_intro zenon_Haf6 | zenon_intro zenon_Haf5 ].
% 47.44/47.61  cut (((op (e0) (e3)) = (e3)) = ((op (unit) (e3)) = (e3))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Haf6.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H38.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((op (e0) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Haf7].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (unit) (e3)) = (op (unit) (e3)))); [ zenon_intro zenon_Haf8 | zenon_intro zenon_Haf9 ].
% 47.44/47.61  cut (((op (unit) (e3)) = (op (unit) (e3))) = ((op (e0) (e3)) = (op (unit) (e3)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Haf7.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Haf8.
% 47.44/47.61  cut (((op (unit) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Haf9].
% 47.44/47.61  cut (((op (unit) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hafa].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_H3d1 ax3).
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply zenon_Haf9. apply refl_equal.
% 47.44/47.61  apply zenon_Haf9. apply refl_equal.
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Haf5); [ zenon_intro zenon_Hafc | zenon_intro zenon_Hafb ].
% 47.44/47.61  cut (((op (e3) (e0)) = (e3)) = ((op (e3) (unit)) = (e3))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hafc.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H71.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((op (e3) (e0)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hafd].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e3) (unit)) = (op (e3) (unit)))); [ zenon_intro zenon_Hafe | zenon_intro zenon_Haff ].
% 47.44/47.61  cut (((op (e3) (unit)) = (op (e3) (unit))) = ((op (e3) (e0)) = (op (e3) (unit)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hafd.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hafe.
% 47.44/47.61  cut (((op (e3) (unit)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Haff].
% 47.44/47.61  cut (((op (e3) (unit)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hb00].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1].
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  exact (zenon_H3d1 ax3).
% 47.44/47.61  apply zenon_Haff. apply refl_equal.
% 47.44/47.61  apply zenon_Haff. apply refl_equal.
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hafb); [ zenon_intro zenon_Hb02 | zenon_intro zenon_Hb01 ].
% 47.44/47.61  cut (((op (e0) (e4)) = (e4)) = ((op (unit) (e4)) = (e4))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb02.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H1b.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((op (e0) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb03].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (unit) (e4)) = (op (unit) (e4)))); [ zenon_intro zenon_Hb04 | zenon_intro zenon_Hb05 ].
% 47.44/47.61  cut (((op (unit) (e4)) = (op (unit) (e4))) = ((op (e0) (e4)) = (op (unit) (e4)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb03.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb04.
% 47.44/47.61  cut (((op (unit) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb05].
% 47.44/47.61  cut (((op (unit) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb06].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_H3d1 ax3).
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply zenon_Hb05. apply refl_equal.
% 47.44/47.61  apply zenon_Hb05. apply refl_equal.
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb01); [ zenon_intro zenon_Hb08 | zenon_intro zenon_Hb07 ].
% 47.44/47.61  cut (((op (e4) (e0)) = (e4)) = ((op (e4) (unit)) = (e4))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb08.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Ha1.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((op (e4) (e0)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hb09].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e4) (unit)) = (op (e4) (unit)))); [ zenon_intro zenon_Hb0a | zenon_intro zenon_Hb0b ].
% 47.44/47.61  cut (((op (e4) (unit)) = (op (e4) (unit))) = ((op (e4) (e0)) = (op (e4) (unit)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb09.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb0a.
% 47.44/47.61  cut (((op (e4) (unit)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hb0b].
% 47.44/47.61  cut (((op (e4) (unit)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hb0c].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1].
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  exact (zenon_H3d1 ax3).
% 47.44/47.61  apply zenon_Hb0b. apply refl_equal.
% 47.44/47.61  apply zenon_Hb0b. apply refl_equal.
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb07); [ zenon_intro zenon_Hb0e | zenon_intro zenon_Hb0d ].
% 47.44/47.61  cut (((op (e0) (e5)) = (e5)) = ((op (unit) (e5)) = (e5))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb0e.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H26.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((op (e0) (e5)) = (op (unit) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb0f].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (unit) (e5)) = (op (unit) (e5)))); [ zenon_intro zenon_Hb10 | zenon_intro zenon_Hb11 ].
% 47.44/47.61  cut (((op (unit) (e5)) = (op (unit) (e5))) = ((op (e0) (e5)) = (op (unit) (e5)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb0f.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb10.
% 47.44/47.61  cut (((op (unit) (e5)) = (op (unit) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb11].
% 47.44/47.61  cut (((op (unit) (e5)) = (op (e0) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb12].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_H3d1 ax3).
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply zenon_Hb11. apply refl_equal.
% 47.44/47.61  apply zenon_Hb11. apply refl_equal.
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb0d); [ zenon_intro zenon_Hb14 | zenon_intro zenon_Hb13 ].
% 47.44/47.61  cut (((op (e5) (e0)) = (e5)) = ((op (e5) (unit)) = (e5))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb14.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hd1.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((op (e5) (e0)) = (op (e5) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hb15].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e5) (unit)) = (op (e5) (unit)))); [ zenon_intro zenon_Hb16 | zenon_intro zenon_Hb17 ].
% 47.44/47.61  cut (((op (e5) (unit)) = (op (e5) (unit))) = ((op (e5) (e0)) = (op (e5) (unit)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb15.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb16.
% 47.44/47.61  cut (((op (e5) (unit)) = (op (e5) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hb17].
% 47.44/47.61  cut (((op (e5) (unit)) = (op (e5) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hb18].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3d1].
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  exact (zenon_H3d1 ax3).
% 47.44/47.61  apply zenon_Hb17. apply refl_equal.
% 47.44/47.61  apply zenon_Hb17. apply refl_equal.
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb13); [ zenon_intro zenon_Hb1a | zenon_intro zenon_Hb19 ].
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb1a). zenon_intro zenon_H3d1. zenon_intro zenon_Hb1b.
% 47.44/47.61  exact (zenon_H3d1 ax3).
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb19); [ zenon_intro zenon_Hb1d | zenon_intro zenon_Hb1c ].
% 47.44/47.61  apply (zenon_congruence_lr_s _ (fun zenon_Vh : _ => (~((op (e0) (inv (e0))) = zenon_Vh))) _ _ zenon_Hb1d ax3). zenon_intro zenon_Hb1e.
% 47.44/47.61  cut (((op (e0) (e0)) = (e0)) = ((op (e0) (inv (e0))) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb1e.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H10.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e0) (e0)) = (op (e0) (inv (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hb1f].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e0) (inv (e0))) = (op (e0) (inv (e0))))); [ zenon_intro zenon_Hb20 | zenon_intro zenon_Hb21 ].
% 47.44/47.61  cut (((op (e0) (inv (e0))) = (op (e0) (inv (e0)))) = ((op (e0) (e0)) = (op (e0) (inv (e0))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb1f.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb20.
% 47.44/47.61  cut (((op (e0) (inv (e0))) = (op (e0) (inv (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hb21].
% 47.44/47.61  cut (((op (e0) (inv (e0))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hb22].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((inv (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hb23].
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  exact (zenon_Hb23 zenon_H3f5).
% 47.44/47.61  apply zenon_Hb21. apply refl_equal.
% 47.44/47.61  apply zenon_Hb21. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb1c); [ zenon_intro zenon_Hb25 | zenon_intro zenon_Hb24 ].
% 47.44/47.61  apply (zenon_congruence_lr_s _ (fun zenon_Vj : _ => (~((op (inv (e0)) (e0)) = zenon_Vj))) _ _ zenon_Hb25 ax3). zenon_intro zenon_Hb26.
% 47.44/47.61  cut (((op (e0) (e0)) = (e0)) = ((op (inv (e0)) (e0)) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb26.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H10.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e0) (e0)) = (op (inv (e0)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hb27].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (inv (e0)) (e0)) = (op (inv (e0)) (e0)))); [ zenon_intro zenon_Hb28 | zenon_intro zenon_Hb29 ].
% 47.44/47.61  cut (((op (inv (e0)) (e0)) = (op (inv (e0)) (e0))) = ((op (e0) (e0)) = (op (inv (e0)) (e0)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb27.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb28.
% 47.44/47.61  cut (((op (inv (e0)) (e0)) = (op (inv (e0)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hb29].
% 47.44/47.61  cut (((op (inv (e0)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hb2a].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((inv (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hb23].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb23 zenon_H3f5).
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply zenon_Hb29. apply refl_equal.
% 47.44/47.61  apply zenon_Hb29. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb24); [ zenon_intro zenon_Hb2c | zenon_intro zenon_Hb2b ].
% 47.44/47.61  apply (zenon_congruence_lr_s _ (fun zenon_Vl : _ => (~((op (e1) (inv (e1))) = zenon_Vl))) _ _ zenon_Hb2c ax3). zenon_intro zenon_Hb2d.
% 47.44/47.61  cut (((op (e1) (e1)) = (e0)) = ((op (e1) (inv (e1))) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb2d.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H11.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e1) (e1)) = (op (e1) (inv (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hb2e].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e1) (inv (e1))) = (op (e1) (inv (e1))))); [ zenon_intro zenon_Hb2f | zenon_intro zenon_Hb30 ].
% 47.44/47.61  cut (((op (e1) (inv (e1))) = (op (e1) (inv (e1)))) = ((op (e1) (e1)) = (op (e1) (inv (e1))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb2e.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb2f.
% 47.44/47.61  cut (((op (e1) (inv (e1))) = (op (e1) (inv (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hb30].
% 47.44/47.61  cut (((op (e1) (inv (e1))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hb31].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((inv (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hb32].
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  exact (zenon_Hb32 zenon_H3f7).
% 47.44/47.61  apply zenon_Hb30. apply refl_equal.
% 47.44/47.61  apply zenon_Hb30. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb2b); [ zenon_intro zenon_Hb34 | zenon_intro zenon_Hb33 ].
% 47.44/47.61  apply (zenon_congruence_lr_s _ (fun zenon_Vn : _ => (~((op (inv (e1)) (e1)) = zenon_Vn))) _ _ zenon_Hb34 ax3). zenon_intro zenon_Hb35.
% 47.44/47.61  cut (((op (e1) (e1)) = (e0)) = ((op (inv (e1)) (e1)) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb35.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H11.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e1) (e1)) = (op (inv (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hb36].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (inv (e1)) (e1)) = (op (inv (e1)) (e1)))); [ zenon_intro zenon_Hb37 | zenon_intro zenon_Hb38 ].
% 47.44/47.61  cut (((op (inv (e1)) (e1)) = (op (inv (e1)) (e1))) = ((op (e1) (e1)) = (op (inv (e1)) (e1)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb36.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb37.
% 47.44/47.61  cut (((op (inv (e1)) (e1)) = (op (inv (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hb38].
% 47.44/47.61  cut (((op (inv (e1)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hb39].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 47.44/47.61  cut (((inv (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hb32].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb32 zenon_H3f7).
% 47.44/47.61  apply zenon_H6. apply refl_equal.
% 47.44/47.61  apply zenon_Hb38. apply refl_equal.
% 47.44/47.61  apply zenon_Hb38. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb33); [ zenon_intro zenon_Hb3b | zenon_intro zenon_Hb3a ].
% 47.44/47.61  apply (zenon_congruence_lr_s _ (fun zenon_Vp : _ => (~((op (e2) (inv (e2))) = zenon_Vp))) _ _ zenon_Hb3b ax3). zenon_intro zenon_Hb3c.
% 47.44/47.61  cut (((op (e2) (e3)) = (e0)) = ((op (e2) (inv (e2))) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb3c.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H59.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e2) (e3)) = (op (e2) (inv (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb3d].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e2) (inv (e2))) = (op (e2) (inv (e2))))); [ zenon_intro zenon_Hb3e | zenon_intro zenon_Hb3f ].
% 47.44/47.61  cut (((op (e2) (inv (e2))) = (op (e2) (inv (e2)))) = ((op (e2) (e3)) = (op (e2) (inv (e2))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb3d.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb3e.
% 47.44/47.61  cut (((op (e2) (inv (e2))) = (op (e2) (inv (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hb3f].
% 47.44/47.61  cut (((op (e2) (inv (e2))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb40].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((inv (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hb41].
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  exact (zenon_Hb41 zenon_H3f9).
% 47.44/47.61  apply zenon_Hb3f. apply refl_equal.
% 47.44/47.61  apply zenon_Hb3f. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb3a); [ zenon_intro zenon_Hb43 | zenon_intro zenon_Hb42 ].
% 47.44/47.61  apply (zenon_congruence_lr_s _ (fun zenon_Vr : _ => (~((op (inv (e2)) (e2)) = zenon_Vr))) _ _ zenon_Hb43 ax3). zenon_intro zenon_Hb44.
% 47.44/47.61  cut (((op (e3) (e2)) = (e0)) = ((op (inv (e2)) (e2)) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb44.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H81.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e3) (e2)) = (op (inv (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hb45].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (inv (e2)) (e2)) = (op (inv (e2)) (e2)))); [ zenon_intro zenon_Hb46 | zenon_intro zenon_Hb47 ].
% 47.44/47.61  cut (((op (inv (e2)) (e2)) = (op (inv (e2)) (e2))) = ((op (e3) (e2)) = (op (inv (e2)) (e2)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb45.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb46.
% 47.44/47.61  cut (((op (inv (e2)) (e2)) = (op (inv (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hb47].
% 47.44/47.61  cut (((op (inv (e2)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hb48].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 47.44/47.61  cut (((inv (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hb41].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb41 zenon_H3f9).
% 47.44/47.61  apply zenon_H19. apply refl_equal.
% 47.44/47.61  apply zenon_Hb47. apply refl_equal.
% 47.44/47.61  apply zenon_Hb47. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb42); [ zenon_intro zenon_Hb4a | zenon_intro zenon_Hb49 ].
% 47.44/47.61  apply (zenon_congruence_lr_s _ (fun zenon_Vt : _ => (~((op (e3) (inv (e3))) = zenon_Vt))) _ _ zenon_Hb4a ax3). zenon_intro zenon_Hb4b.
% 47.44/47.61  cut (((op (e3) (e2)) = (e0)) = ((op (e3) (inv (e3))) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb4b.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H81.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e3) (e2)) = (op (e3) (inv (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hb4c].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e3) (inv (e3))) = (op (e3) (inv (e3))))); [ zenon_intro zenon_Hb4d | zenon_intro zenon_Hb4e ].
% 47.44/47.61  cut (((op (e3) (inv (e3))) = (op (e3) (inv (e3)))) = ((op (e3) (e2)) = (op (e3) (inv (e3))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb4c.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb4d.
% 47.44/47.61  cut (((op (e3) (inv (e3))) = (op (e3) (inv (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hb4e].
% 47.44/47.61  cut (((op (e3) (inv (e3))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hb4f].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((inv (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb50].
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  exact (zenon_Hb50 zenon_H3fb).
% 47.44/47.61  apply zenon_Hb4e. apply refl_equal.
% 47.44/47.61  apply zenon_Hb4e. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb49); [ zenon_intro zenon_Hb52 | zenon_intro zenon_Hb51 ].
% 47.44/47.61  apply (zenon_congruence_lr_s _ (fun zenon_Vv : _ => (~((op (inv (e3)) (e3)) = zenon_Vv))) _ _ zenon_Hb52 ax3). zenon_intro zenon_Hb53.
% 47.44/47.61  cut (((op (e2) (e3)) = (e0)) = ((op (inv (e3)) (e3)) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb53.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_H59.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e2) (e3)) = (op (inv (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb54].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (inv (e3)) (e3)) = (op (inv (e3)) (e3)))); [ zenon_intro zenon_Hb55 | zenon_intro zenon_Hb56 ].
% 47.44/47.61  cut (((op (inv (e3)) (e3)) = (op (inv (e3)) (e3))) = ((op (e2) (e3)) = (op (inv (e3)) (e3)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb54.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb55.
% 47.44/47.61  cut (((op (inv (e3)) (e3)) = (op (inv (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb56].
% 47.44/47.61  cut (((op (inv (e3)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb57].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 47.44/47.61  cut (((inv (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hb50].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb50 zenon_H3fb).
% 47.44/47.61  apply zenon_H24. apply refl_equal.
% 47.44/47.61  apply zenon_Hb56. apply refl_equal.
% 47.44/47.61  apply zenon_Hb56. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb51); [ zenon_intro zenon_Hb59 | zenon_intro zenon_Hb58 ].
% 47.44/47.61  apply (zenon_congruence_lr_s _ (fun zenon_Vx : _ => (~((op (e4) (inv (e4))) = zenon_Vx))) _ _ zenon_Hb59 ax3). zenon_intro zenon_Hb5a.
% 47.44/47.61  cut (((op (e4) (e5)) = (e0)) = ((op (e4) (inv (e4))) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb5a.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hc9.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e4) (e5)) = (op (e4) (inv (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hb5b].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e4) (inv (e4))) = (op (e4) (inv (e4))))); [ zenon_intro zenon_Hb5c | zenon_intro zenon_Hb5d ].
% 47.44/47.61  cut (((op (e4) (inv (e4))) = (op (e4) (inv (e4)))) = ((op (e4) (e5)) = (op (e4) (inv (e4))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb5b.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb5c.
% 47.44/47.61  cut (((op (e4) (inv (e4))) = (op (e4) (inv (e4))))); [idtac | apply NNPP; zenon_intro zenon_Hb5d].
% 47.44/47.61  cut (((op (e4) (inv (e4))) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb5e].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((inv (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb5f].
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  exact (zenon_Hb5f zenon_H3fd).
% 47.44/47.61  apply zenon_Hb5d. apply refl_equal.
% 47.44/47.61  apply zenon_Hb5d. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb58); [ zenon_intro zenon_Hb61 | zenon_intro zenon_Hb60 ].
% 47.44/47.61  apply (zenon_congruence_lr_s _ (fun zenon_Vz : _ => (~((op (inv (e4)) (e4)) = zenon_Vz))) _ _ zenon_Hb61 ax3). zenon_intro zenon_Hb62.
% 47.44/47.61  cut (((op (e5) (e4)) = (e0)) = ((op (inv (e4)) (e4)) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb62.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hf1.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e5) (e4)) = (op (inv (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb63].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (inv (e4)) (e4)) = (op (inv (e4)) (e4)))); [ zenon_intro zenon_Hb64 | zenon_intro zenon_Hb65 ].
% 47.44/47.61  cut (((op (inv (e4)) (e4)) = (op (inv (e4)) (e4))) = ((op (e5) (e4)) = (op (inv (e4)) (e4)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb63.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb64.
% 47.44/47.61  cut (((op (inv (e4)) (e4)) = (op (inv (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb65].
% 47.44/47.61  cut (((op (inv (e4)) (e4)) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb66].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 47.44/47.61  cut (((inv (e4)) = (e5))); [idtac | apply NNPP; zenon_intro zenon_Hb5f].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb5f zenon_H3fd).
% 47.44/47.61  apply zenon_H1a. apply refl_equal.
% 47.44/47.61  apply zenon_Hb65. apply refl_equal.
% 47.44/47.61  apply zenon_Hb65. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb60); [ zenon_intro zenon_Hb68 | zenon_intro zenon_Hb67 ].
% 47.44/47.61  apply (zenon_congruence_lr_s _ (fun zenon_Vba : _ => (~((op (e5) (inv (e5))) = zenon_Vba))) _ _ zenon_Hb68 ax3). zenon_intro zenon_Hb69.
% 47.44/47.61  cut (((op (e5) (e4)) = (e0)) = ((op (e5) (inv (e5))) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb69.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hf1.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e5) (e4)) = (op (e5) (inv (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hb6a].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (e5) (inv (e5))) = (op (e5) (inv (e5))))); [ zenon_intro zenon_Hb6b | zenon_intro zenon_Hb6c ].
% 47.44/47.61  cut (((op (e5) (inv (e5))) = (op (e5) (inv (e5)))) = ((op (e5) (e4)) = (op (e5) (inv (e5))))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb6a.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb6b.
% 47.44/47.61  cut (((op (e5) (inv (e5))) = (op (e5) (inv (e5))))); [idtac | apply NNPP; zenon_intro zenon_Hb6c].
% 47.44/47.61  cut (((op (e5) (inv (e5))) = (op (e5) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb6d].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((inv (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hb6e].
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  congruence.
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  exact (zenon_Hb6e zenon_H3fc).
% 47.44/47.61  apply zenon_Hb6c. apply refl_equal.
% 47.44/47.61  apply zenon_Hb6c. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb67); [ zenon_intro zenon_Hb70 | zenon_intro zenon_Hb6f ].
% 47.44/47.61  apply (zenon_congruence_lr_s _ (fun zenon_Vda : _ => (~((op (inv (e5)) (e5)) = zenon_Vda))) _ _ zenon_Hb70 ax3). zenon_intro zenon_Hb71.
% 47.44/47.61  cut (((op (e4) (e5)) = (e0)) = ((op (inv (e5)) (e5)) = (e0))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb71.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hc9.
% 47.44/47.61  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H5].
% 47.44/47.61  cut (((op (e4) (e5)) = (op (inv (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb72].
% 47.44/47.61  congruence.
% 47.44/47.61  elim (classic ((op (inv (e5)) (e5)) = (op (inv (e5)) (e5)))); [ zenon_intro zenon_Hb73 | zenon_intro zenon_Hb74 ].
% 47.44/47.61  cut (((op (inv (e5)) (e5)) = (op (inv (e5)) (e5))) = ((op (e4) (e5)) = (op (inv (e5)) (e5)))).
% 47.44/47.61  intro zenon_D_pnotp.
% 47.44/47.61  apply zenon_Hb72.
% 47.44/47.61  rewrite <- zenon_D_pnotp.
% 47.44/47.61  exact zenon_Hb73.
% 47.44/47.61  cut (((op (inv (e5)) (e5)) = (op (inv (e5)) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb74].
% 47.44/47.61  cut (((op (inv (e5)) (e5)) = (op (e4) (e5)))); [idtac | apply NNPP; zenon_intro zenon_Hb75].
% 47.44/47.61  congruence.
% 47.44/47.61  cut (((e5) = (e5))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 47.44/47.61  cut (((inv (e5)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_Hb6e].
% 47.44/47.61  congruence.
% 47.44/47.61  exact (zenon_Hb6e zenon_H3fc).
% 47.44/47.61  apply zenon_H25. apply refl_equal.
% 47.44/47.61  apply zenon_Hb74. apply refl_equal.
% 47.44/47.61  apply zenon_Hb74. apply refl_equal.
% 47.44/47.61  apply zenon_H5. apply refl_equal.
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb6f); [ zenon_intro zenon_Hb77 | zenon_intro zenon_Hb76 ].
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb77). zenon_intro zenon_Hb23. zenon_intro zenon_Hb78.
% 47.44/47.61  exact (zenon_Hb23 zenon_H3f5).
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb76); [ zenon_intro zenon_Hb7a | zenon_intro zenon_Hb79 ].
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb7a). zenon_intro zenon_Hb7c. zenon_intro zenon_Hb7b.
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb7b). zenon_intro zenon_Hb32. zenon_intro zenon_Hb7d.
% 47.44/47.61  exact (zenon_Hb32 zenon_H3f7).
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb79); [ zenon_intro zenon_Hb7f | zenon_intro zenon_Hb7e ].
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb7f). zenon_intro zenon_Hb81. zenon_intro zenon_Hb80.
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb80). zenon_intro zenon_Hb83. zenon_intro zenon_Hb82.
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb82). zenon_intro zenon_Hb85. zenon_intro zenon_Hb84.
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb84). zenon_intro zenon_Hb41. zenon_intro zenon_Hb86.
% 47.44/47.61  exact (zenon_Hb41 zenon_H3f9).
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb7e); [ zenon_intro zenon_Hb88 | zenon_intro zenon_Hb87 ].
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb88). zenon_intro zenon_Hb8a. zenon_intro zenon_Hb89.
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb89). zenon_intro zenon_Hb8c. zenon_intro zenon_Hb8b.
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb8b). zenon_intro zenon_Hb50. zenon_intro zenon_Hb8d.
% 47.44/47.61  exact (zenon_Hb50 zenon_H3fb).
% 47.44/47.61  apply (zenon_notand_s _ _ zenon_Hb87); [ zenon_intro zenon_Hb8f | zenon_intro zenon_Hb8e ].
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb8f). zenon_intro zenon_Hb91. zenon_intro zenon_Hb90.
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb90). zenon_intro zenon_Hb93. zenon_intro zenon_Hb92.
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb92). zenon_intro zenon_Hb95. zenon_intro zenon_Hb94.
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb94). zenon_intro zenon_Hb97. zenon_intro zenon_Hb96.
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb96). zenon_intro zenon_Hb98. zenon_intro zenon_Hb5f.
% 47.44/47.61  exact (zenon_Hb5f zenon_H3fd).
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb8e). zenon_intro zenon_Hb9a. zenon_intro zenon_Hb99.
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb99). zenon_intro zenon_Hb9c. zenon_intro zenon_Hb9b.
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb9b). zenon_intro zenon_Hb9e. zenon_intro zenon_Hb9d.
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb9d). zenon_intro zenon_Hba0. zenon_intro zenon_Hb9f.
% 47.44/47.61  apply (zenon_notor_s _ _ zenon_Hb9f). zenon_intro zenon_Hb6e. zenon_intro zenon_Hba1.
% 47.44/47.61  exact (zenon_Hb6e zenon_H3fc).
% 47.44/47.61  Qed.
% 47.44/47.61  % SZS output end Proof
% 47.44/47.61  (* END-PROOF *)
% 47.44/47.61  nodes searched: 1654167
% 47.44/47.61  max branch formulas: 1062
% 47.44/47.61  proof nodes created: 1511
% 47.44/47.61  formulas created: 414734
% 47.44/47.61  
%------------------------------------------------------------------------------